1,751

(7 replies, posted in Juicebox-Pro Support)

Rather than setting autoPlayOnLoad="TRUE", use autoPlayOnLoad="FALSE" (the default value) and start the AutoPlay via the Juicebox-Pro API toggleAutoPlay() method when the onInitComplete event is fired (once the gallery is ready).

At the moment, you'll need to also set enableAutoPlay="TRUE" for this to work. This should not be necessary: the toggleAutoPlay() API method should not have the enableAutoPlay configuration option as a dependency. However, the developers are aware of this issue and it should hopefully be fixed in the next version.

Also, be sure to set goNextOnAutoPlay="FALSE" (default value), otherwise, when AutoPlay is started, the image will change immediately instead of waiting the allotted displayTime before moving on.

Try the following:

<!--START JUICEBOX EMBED-->
<script src="jbcore/juicebox.js"></script>
<script>
    var jb = new juicebox({
        containerId: "juicebox-container",
        autoPlayOnLoad: "FALSE",
        enableAutoPlay: "TRUE",
        goNextOnAutoPlay: "FALSE"
    });
    jb.onInitComplete = function() {
        jb.toggleAutoPlay();
    };
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

Hopefully this will help.
If not, then you could introduce a short delay using the JavaScript setTimeout() function.

For example:

<!--START JUICEBOX EMBED-->
<script src="jbcore/juicebox.js"></script>
<script>
    var jb = new juicebox({
        containerId: "juicebox-container",
        autoPlayOnLoad: "FALSE",
        enableAutoPlay: "TRUE",
        goNextOnAutoPlay: "FALSE"
    });
    jb.onInitComplete = function() {
        window.setTimeout(function() {
            jb.toggleAutoPlay();
        }, 500);
    };
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->

The '500' entry in the code above is the delay in milliseconds. You can change this to a different value if you like.

1,752

(1 replies, posted in Juicebox-Pro Support)

Yes. You can use whatever valid units you like in your custom CSS.

The reason that only px and % are accepted as galleryWidth and galleryHeight in the gallery's embedding code (as noted in your query here) is that Juicebox sanitizes the values (turning anything that is not a % into a px value) before using them internally as CSS.
Any custom CSS will be used by the browser as is.

For anyone looking to change the font size of gallery text, the following CSS may help. (Just change the values as necessary.)

/* IMAGE TITLE */
.jb-caption .jb-caption-title {
    font-size: 20px !important;
}

/* IMAGE CAPTION */
.jb-caption .jb-caption-desc {
    font-size: 18px !important;
}

/* IMAGE NUMBER */
.jb-cap-frame .jbac-number {
    font-size: 12px !important;
}

You could add this CSS to the end of your gallery's 'jbcore/classic/theme.css' file or wrap it in <style type="text/css"> ... </style> tags and add it to the end of your gallery web page's <head> section (to avoid the need to modify your gallery's 'theme.css' file).

If you do modify your gallery's 'theme.css' file, please remember to make a backup copy of your modified file as it may be overwritten if you upgrade your gallery when a new version of Juicebox is released.

1,753

(3 replies, posted in Juicebox-Pro Support)

Please, drop this request

OK. No problem. I've moved this query into its own thread (rather than the Feature Requests forum) as it's a known bug.

I have turned off Enable Direct Links in all my galleries. But it is still working when there is a hashnumber in the URL. I understand from you that this is a bug.

That is correct. Currently, a hash identifier in the URL will display the specified image, even with enableDirectLinks="FALSE".
As I mentioned, this has been logged as a bug and should hopefully be fixed in a future version.

I'm glad you've found a workaround. Thank you for letting me know.

Another possible workaround (if you need to specify a number in the URL but don't want Juicebox to use it) would be to use a query string (e.g. ?number=2) instead of a hash (e.g. #2) for your own custom function.

I realise that you have already implemented your own custom function using the hash identifier and would need to rewrite the function to make use of the query string instead but it might help others who are still working on their site and have not yet implemented their own 'number in URL' functionality.

[Query moved from Feature Requests forum to new thread.]

1,754

(3 replies, posted in Juicebox-Pro Support)

@arachnid

The hash will only appear in the URL automatically (when loading a gallery or selecting a new image) if enableDirectLinks="TRUE".
However, at the moment, you will still be able to manually enter a hash value in a URL (to directly access an image) even if enableDirectLinks="FALSE". This has been logged as a bug and should hopefully be addressed in a future version.

1,755

(6 replies, posted in Juicebox-Pro Support)

I've just set up 9 different test galleries (all setting screenMode="LARGE"), using all combinations of showPagingText (not set, TRUE and FALSE) and showSmallPagingText (not set, TRUE and FALSE).
I then viewed all 9 galleries in Mobile Safari, Chrome 56 and Firefox 6.0 on an iPod Touch 6 running iOS 10.2.1.
All results were as expected: the thumbnail paging text displayed only in those galleries which set showPagingText="TRUE".
The value of showSmallPagingText (or its existance as a configuration option at all) did not make a difference to any of the galleries (which is expected as screenMode="LARGE").
I've tried but I really can't replicate the problem you're describing.

Maybe what you were seeing was a result of a caching issue (either client or server-side) and your browser was using an older cached version of your gallery's 'config.xml' file (with different settings).

If you do find a gallery which displays the thumbnail paging text unexpectedly (or does not show it when it should), please post a link to the gallery in question and let me know what device and browser you see the problem in.
Thank you.

1,756

(6 replies, posted in Juicebox-Pro Support)

The default value for showSmallPagingText is TRUE (noted on the Config Options page).

If, when you first open JuiceboxBuilder-Pro, you do not change a configuration option, JuiceboxBuilder-Pro will not write the option's default value to the gallery's 'config.xml' file (to save cluttering up the file with hundreds of entries) and Juicebox-Pro will use the default value when the gallery is displayed.

If there is no entry for showSmallPagingText in the gallery's 'config.xml' file, then Juicebox will use this option's default value of TRUE and you'll see the thumbnail paging text when the gallery is displayed in Small Screen Mode.

I think this might be what you are experiencing.

I have checked that JuiceboxBuilder-Pro is writing correct values to the 'config.xml' file and cannot find an error.
Correct values (corresponding to the interface input fields) are written to the file (but default values are not always entered).

I hope this helps somewhat.

If you have a gallery which does not behave as expected, then please post a link so that I can investigate further.
Likewise, if you have a set of steps that I can use to reproduce an error with JuiceboxBuilder-Pro, please let me know.

To summarize...

  • showPagingText="TRUE" will always show the thumbnail paging text when the gallery is displayed in Large Screen Mode. The default value for showPagingText is FALSE.

  • showSmallPagingText="TRUE" will always show the thumbnail paging text when the gallery is displayed in Small Screen Mode. The default value for showSmallPagingText is TRUE.

  • If a configuration option is not explicitly written to a gallery's 'config.xml' file, then Juicebox will use the default value for that option.

Also, just to clarify, you mention "LargeScreen Mode in mobile browser" and "LargeScreen Mode on mobile devices with screens smaller than 1024px". The only way that Juicebox will be displayed in Large Screen Mode on mobile devices with small screens is if you set screenMode="LARGE". If the gallery is truly in Large Screen Mode, then showPagingText will be active (and showSmallPagingText will be ignored), regardless of the device or browser window size.

1,757

(6 replies, posted in Juicebox-Pro Support)

All my galleries are by default set in Large Mode. I notice that what ever I set for Show Small Paging Text (False or true) Small Paging Text is visible in screens smaller then 1024 px.

If all your galleries set screenMode="LARGE" (always being displayed in Large Screen Mode), then showSmallPagingText will never have any effect. showSmallPagingText refers to Small Screen Mode only.

showSmallPagingText will display the thumbnail paging text only if screenMode="SMALL" or screenMode="AUTO" and Juicebox decides to use Small Screen Mode (due to the device and screen size being used to view the gallery).

In Large Screen Mode, the thumbnail paging text can be selected using showPagingText.
If screenMode="LARGE" and showPagingText="TRUE", then the thumbnail paging text will always be displayed, no matter what size the user's browser window is.

If you want to hide the thumbnail paging text in browser windows of less than 1024px width when screenMode="LARGE" and showPagingText="TRUE", then you'd need to introduce custom CSS and JavaScript.
Something like the following should work:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <style type="text/css">
      body {
        margin: 0px;
      }
      /* Initially hide thumbnail paging text until we know whether or not it should be visible */
      .jb-idx-thb-list-page-number {
        display: none;
      }
    </style>
    <script type="text/javascript" src="jbcore/juicebox.js"></script>
    <script type="text/javascript">
      function pagingText() {
        var windowWidth = parseInt(window.innerWidth ? window.innerWidth : $(window).width(), 10);
        if (windowWidth > 1024) {
          $('.jb-idx-thb-list-page-number').show(); // Show thumbnail paging text if necessary
        } else {
          $('.jb-idx-thb-list-page-number').hide(); // Hide thumbnail paging text
        }
      }
      var jb = new juicebox({
        containerId: "juicebox-container",
        screenMode: "LARGE",
        showPagingText: "TRUE"
      });
      // Wait until gallery is ready before using thumbnail paging text class
      jb.onInitComplete = function() {
        pagingText();
        $(window).resize(pagingText);
      };
    </script>
    <title>Test</title>
  </head>
  <body>
    <div id="juicebox-container"></div>
  </body>
</html>

Please note that the suggestion above will hide the thumbnail paging text in Large Screen Mode for browser window widths of less than 1024px but space will still be reserved for it by Juicebox (as showPagingText="TRUE" and, as far as Juicebox is concerned, the paging text should be there).

You'll need to use an http:// absolute path (not ftp://) to your gallery's 'index.html' file as the 'src' attribute of your iframe.
Once you've uploaded your gallery folder to your web server, find out the URL that you need to use to view the gallery's 'index.html' page in your browser. This is what you should use for the 'src' attribute of your iframe. If you are not sure what this URL is, your web host should be able to help you out.
It looks like it might be something like http://madagascar14.byethost7.com/Little Manor/Galleries/index.html but this doesn't work. (I don't know what domain and subdomain your account uses but your web host should be able to tell you if you don't know.)

Your iframe should look something like this:

<iframe src="http://www.example.com/Little Manor/Galleries/index.html" width="1200" height="660" frameborder="0" scrolling="no"></iframe>

You're welcome!
I'm glad it turned out to be an easy fix. Thanks for letting me know.

1,760

(7 replies, posted in Juicebox-Pro Support)

If you allowed JuiceboxBuilder-Pro to create all image sizes for a Multi-Size Image gallery, then (as you are aware), no gallery images would contain metadata unless any of the source images are already within the maximum bounds of an image size and do not need to be resized (in which case they would be copied across to the gallery folder unmodified with their metadata intact).

Perhaps the easiest thing to do would be to create a Multi-Size Image gallery with JuiceboxBuilder-Pro so that all the smallImageUrl and largeImageUrl entries are present in the gallery's 'config.xml' file.
All you'd then need to do is create your own Small, Medium and Large images (in an imaging program such as Adobe Photoshop) and then replace the images in the 'images' (Medium), 'images/small/' (Small) and 'images/large/' (Large) folders.
(Images for each size should have the same filename. Each image size is stored in a different folder to avoid file name collisions.)

At least all the smallImageUrl and largeImageUrl entries would be generated for you.
This would be a step in the right direction over having to create a Multi-Size Image gallery from scratch manually.

I have checked, and all of the galleries with audio have the same configuration - only the gallery title and the audioUrl entries are different.

There is really no reason why galleries with the same configurations should function differently (as I'm sure you're aware).

One of these galleries however does not display the audio play button in the Firefox browser on my iphone.

I've just checked the gallery you claim does not work as expected ('WebMuir-js') in Firefox 6.0 (2) on an iPod Touch 6 running iOS 10.2.1 and the Audio Button displays fine and the audio track plays OK.

Maybe the problem is a browser caching issue.
Try completely clearing your Firefox browser's cache ('Firefox Menu -> Settings -> Privacy -> Clear Private Data' - clear everything) to see if this makes a difference.
Killing or updating the app and rebooting your iPhone may not affect the browser's cache and the browser may be displaying your gallery with an older cached version of the configuration file.

I hope this helps.

1,762

(7 replies, posted in Juicebox-Pro Support)

If you resize your images prior to using JuiceboxBuilder, just deselect the 'Resize Images' checkbox (on the 'Images' tab) and drag and drop the images into the 'Add Images' box as normal.
When you 'Save' the gallery on the 'Publish' tab, Juicebox will copy the images (without modification) to the gallery's 'images' folder (and will still create thumbnails from them in the gallery's 'thumbs' folder) and will populate the 'config.xml' configuration file with the correct paths (to the images and thumbnails in their respective folders).

1,763

(3 replies, posted in Juicebox-Lite Support)

@Reti33

If a gallery does not display on a web page, then the most likely probably causes are:
(1) Incorrect paths (or missing files), perhaps the 'juicebox.js' file or the 'config.xml' file.
(2) Custom CSS code which is affecting the visibility of the gallery. Check any custom CSS to make sure that the gallery's parent containers are visible (e.g. do not have zero height or have been removed from the DOM).

Please also see this FAQ for another possible cause (incorrect formatting for the gallery's embedding code).
When I view my gallery, I see a blank area. Why?

If you like, you could post the URL to your gallery's web page and I'll take a look to see if I can determine the cause of your problem. (I'll move your query into a new thread of its own.) Thank you.

Only the one gallery fails on the iphone - the other three work as expected.

Please double-check that the configuration options for all your galleries are exactly the same as each other.
It sounds like there might be a difference between your galleries which is causing your problem.

If you continue to experience difficulties, please post back with the URL to your gallery's web page so that I can take a look at the problem for myself and hopefully help further. Thank you.

1,765

(3 replies, posted in Juicebox-Lite Support)

I see the problem in IE11 (the gallery not visible) but I do not see the content of the <noscript> tags (which would be a vertical list of images) so the problem does not seem to be a JavaScript related issue.
It looks like the gallery is probably working OK but the problem is that it is not visible on your web page (perhaps due to custom CSS or HTML errors on your web page).

I have checked your web page with the W3C Markup Validation Service and there are several HTML errors.
For example, your web page has 3 separate containers with id="menu-hoofdmenu". All ids on a web page should be unique. IE11 may not know which of these containers to apply #menu-hoofdmenu CSS rules to. You might expect it to apply #menu-hoofdmenu CSS rules to one (or all) of these containers but there is no telling how IE11 (or any other browser) will react to this.

Some browsers can be more tolerant towards HTML errors than others which might explain why your web page appears to be OK in some browsers but not others.
If you can fix the HTML errors on your web page, then it should be rendered with greater predictability and consistency across different browsers.
I do not know how much code on your web page is generated manually (or automatically by a theme) but trying a different theme might help.

I hope this points you in the right direction.

1,766

(5 replies, posted in Juicebox-Pro Support)

I'm still not sure what the root of the problem is but as neither of us can replicate the problem in a standalone gallery or stripped back test case, I can't help but think that the surrounding code on your web page must somehow be contributing to the problem.

I'm glad you've found a workaround. Thanks for sharing.

It's interesting that I only ever saw the problem (occassionally) in Chrome and IE11 and that you've never seen the problem on any mobile device. Maybe we can keep an eye on browser updates to see if this somehow solves the problem in the future without any further action.

Once again, I appreciate you keeping this thread up to date with your progress.
If I can reproduce the problem and create a bug report that the developers can work with, I'll certainly do so but, at the moment, the problem seems to be present only in your web site (no other users have reported this issue) and only in certain desktop browsers. It's a tricky one to troubleshoot for sure.

The best way to tackle it would probably be to copy your web page (to create a test environment) and then remove elements (external CSS and JavaScript) one by one until the problem no longer occurs and you find the cause of the problem. However, as you've found a workaround, I would understand if you'd rather just leave things as they are.

1,767

(5 replies, posted in Juicebox-Pro Support)

Thank you for trying the gallery on its own.

I've just tried dynamically switching between two galleries in the same container (using a JavaScript function to go from a default gallery to one using your gallery's configuration options without refreshing the web page and without any delay) but I still can't reproduce the problem.

Hopefully your own testing will prove to be fruitful.
Please let me know if you find anything.
Thank you.

1,768

(7 replies, posted in Juicebox-Pro Support)

Only images that are larger than the maximum image bounds (set on the 'Images' tab) will be resized by JuiceboxBuilder (losing their metadata). Images that are already within the maximum image bounds (and do not need to be resized) will simply be copied across to the output 'images' folder (retaining their metadata).
This might account for what you are seeing.

1,769

(7 replies, posted in Juicebox-Pro Support)

Unfortunately, as you have discovered, JuiceboxBuilder-Pro does not retain metadata (such as ICC color profiles) in images that have been processed (either resized or watermarked) for use in a gallery.
In order to have metadata in gallery images, you could prepare (and resize if necesary) the images for your gallery in Adobe Photoshop (or a similar imaging program) prior to feeding them to JuiceboxBuilder-Pro and deselect the 'Resize Images' and 'Use Watermark' checkboxes on the 'Images' tab. JuiceboxBuilder-Pro will then just copy the images directly across to the gallery's 'images' folder (complete with any metadata that they may have embedded within them) without processing them at all.
When the images are displayed in the gallery, they are displayed using regular HTML <img> tags (generated dynamically by the 'juicebox.js' file).

Incidentally, JuiceboxBuilder-Pro does not intentionally strip out the metadata. It is a side-effect of the way that images are resized. In resizing an image, a new image is created from the original image's pixels (using a suitable algorithm) and the metadata is not actually part of the process. In order to retain metadata, it would likely be necessary to extract all metadata from the source image, store it somewhere temporarily and embed it into the resized image. With all the different metadata formats available (e.g. EXIF, IPTC, XMP, ICC) and all their possible values, this is likely to be quite a complex task (and I do not know if this is even possible within an Adobe AIR application such as JuiceboxBuilder-Pro).

I hope this at least sheds some light on what is happening.

Processing images prior to using JuiceboxBuilder-Pro and instructing JuiceboxBuilder-Pro to use these images for the gallery (without any further processing) would be the best workaround at present.

1,770

(5 replies, posted in Juicebox-Pro Support)

I see the problem in your gallery occasionally (but not always) in Chrome 56 and IE11 (but I've not seen the problem in Edge, Firefox 51.0.1 or Opera 42).
However, I have been unable to reproduce the problem in a test gallery of my own (using the same configuration options that your gallery uses and using your custom theme).
It looks like it might be a difficult problem to troubleshoot.

It looks like it might be some kind of timing problem. Juicebox might be positioning the Button Bar at the top of the page before knowing that the thumbnails are there. If this is the case, then it's certainly strange that I cannot reproduce the problem myself.

Try taking the gallery out of your web page and make it a standalone gallery (with no other content on its page) to see if this makes a difference and to see if the code on your web page is somehow contributing to your problem.
Also, it would be easier to troubleshoot a standalone gallery (with no external influences) and figure out which combination of configuration options is causing the problem (if, indeed, this is the cause).

Try also using the stock 'theme.css' file just in case any of your custom CSS is interfering. It doesn't look like it is but the more we can strip back, the more we can eliminate as being a possible cause.

I do not see any custom CSS on your web page which should be interfering with your gallery's Button Bar position but I might be missing something so have a look and see if you can find any custom CSS which the gallery might be inheriting.

Being that it looks to me like a timing problem, you might also like to try changing internal timings (such as displayTime and imageTransitionTime) to see if this helps.

Also, for testing purposes, try adding a delay before the loading of the gallery when the 'Foto's' link is clicked.
I'm not sure what this will tell us but it's something I would try out of interest.

I realise that the suggestions above might not be ultimate solutions but they might at least help to track down the cause of the problem and, if it turns out to be a bug in Juicebox, I can at then log a bug report with the developers.

Thank you.

1,771

(16 replies, posted in Juicebox-Pro Support)

I'm glad you've been able to get things working as you like.
Thank you for letting me know.

1,772

(5 replies, posted in Juicebox-Pro Support)

You're welcome.

I've just noticed that my JavaScript code above does not work for a 100% x 100% gallery with no other content on the page. I have amended the code in the posts above to work for all gallery sizes.

1,773

(16 replies, posted in Juicebox-Pro Support)

Thanks for posting your suggestion in the Feature Requests thread.

1,774

(5 replies, posted in Juicebox-Pro Support)

You shouldn't get a flash of the image using the JavaScript solution (the two suggestions were not intended to be used together) but, agreed, it's not the most elegant solution.

Here's a slightly better JavaScript version which minimizes the delay by looking out for the 'jb-dialog-login-form' container to appear in the DOM and applying the background-image to it as soon as it is ready. (It relies on your gallery container being named 'juicebox-container' but you can change this if you like.)

<script type="text/javascript">

    $(document).ready(function() {

        var flag1 = false, flag2 = false;

        var observer = new MutationObserver(function(mutations, instance) {
            if (!flag1 && $('.jb-flag-fullscreen').length) {
                $('html').css('height', '100%');
                flag1 = true;
            }
            if (!flag2 && $('#jb-dialog-login-form').length) {
                $('#jb-dialog-login-form').css('background', 'initial');
                $('#jb-dialog-login-form').parent().css('background-image', 'url("images/background.jpg")');
                flag2 = true;
            }
            if (flag1 && flag2) {
                instance.disconnect();
            }
        });

        var juicebox = document.getElementById('juicebox-container');

        observer.observe(juicebox, {
            childList: true,
            subtree: true
        });    

    });

</script>

Perhaps you'd like to suggest this as an idea for a future version in the Feature Requests forum thread.
This keeps all the ideas together and ensures that they are not overlooked by the developers.
I do not know the likelihood of any suggestions being implemented but this is certainly the best place for all ideas.
Thank you.

1,775

(5 replies, posted in Juicebox-Pro Support)

Try using something like the following CSS in the <head> section of your gallery's web page (and make sure that the path to the image is correct):

<style type="text/css">
    #juicebox-container {
        background-image: url("images/background.jpg");
    }
</style>

A slight drawback to this would be that if the gallery's page is reloaded after the password is entered, you'd briefly see a flash of the image before the gallery is rendered.

An alternative would be to set the background for just the login page container (rather then the 'juicebox-container').
However, it is an anonymous <div> with no CSS id or class and it will not be present on the page until after the Document Object Model is ready so you might need to use JavaScript with a short delay.
You could try something like the following:

<script type="text/javascript">
    $(document).ready(function() {
        window.setTimeout(function() {
            if ($('.jb-flag-fullscreen').length) {
                $('html').css('height', '100%');
            }
            if ($('#jb-dialog-login-form').length) {
                $('#jb-dialog-login-form').css('background', 'initial');
                $('#jb-dialog-login-form').parent().css('background-image', 'url("images/background.jpg")');
            }
        }, 2000);
    });
</script>