1,751

(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,752

(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,754

(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,755

(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,756

(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,757

(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,758

(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,759

(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,760

(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,761

(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,762

(16 replies, posted in Juicebox-Pro Support)

Thanks for posting your suggestion in the Feature Requests thread.

1,763

(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,764

(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>

1,765

(3 replies, posted in Juicebox-Lite Support)

You're welcome.
I'm glad I was able to point you in the right direction and that you've been able to resolve your problem.
Thank you for posting back to let me know.

1,766

(16 replies, posted in Juicebox-Pro Support)

Unfortunately, as you've discovered, there's currently no API method to reload a gallery.
Maybe another one for the Feature Request thread...

1,767

(3 replies, posted in Juicebox-Lite Support)

It looks like your gallery is embedded correctly and is actually working OK.
The problem seems to be with the visibility of the gallery on your page. (The gallery is working fine, you just can't see it.)
Taking a look at your page with my browser's developer tools, your <div class="field-items"> container (one of the gallery's parent containers) has zero width (so nothing in the container is visible).
I'm not sure why this might be but I hope it points you in the right direction.

Also, I notice that there are some HTML errors (unclosed elements and stray end tags) on your web page which might cause problems for browsers determining where containers start and end, resulting in CSS rules being applied in unexpected places.
You can check your web page for HTML errors with the W3C Markup Validation Service and then fix the errors reported.
I do not know how much manual code you use on your web page (or if it is all generated automatically by Drupal) so I do not know how easy it might be to fix the HTML errors. However, trying a different theme (even temporarily for testing purposes) might help.

I hope these notes help.

1,768

(16 replies, posted in Juicebox-Pro Support)

Thanks for your help.

You're welcome.

Is there a way to reload a gallery without reloading the whole page

Yes. You can put your gallery's embedding code inside a JavaScript function and call the function when required to reload the gallery.
Here's an example gallery 'index.html' page which will reload the gallery when the 'Reload' button is clicked.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <script type="text/javascript" src="jbcore/juicebox.js"></script>
        <script type="text/javascript">
            function loadGallery() {
                new juicebox({
                    containerId: "juicebox-container",
                    galleryHeight: "400",
                    galleryWidth: "600"
                });
            }
            $(document).ready(function() {
                $('#reload').click(function() {
                    loadGallery(); // Load gallery on demand (when 'Reload' button is clicked)
                });
                loadGallery(); // Load gallery when page is initially displayed
            });
        </script>
        <title>Test</title>
    </head>
    <body>
        <div id="link">
            <input id="reload" type="button" value="Reload" />
        </div>
        <div id="juicebox-container"></div>
        <div id="content">
            <span>Other content.</span>
        </div>
    </body>
</html>

1,769

(16 replies, posted in Juicebox-Pro Support)

Try putting your setGallerySize method inside an onInitComplete wrapper so that setGallerySize is run only when the gallery is ready to accept calls to API methods.
Instead of:

jb.setGallerySize(galleryWidth, galleryHeight);

... try:

jb.onInitComplete = function() {
    jb.setGallerySize(galleryWidth, galleryHeight);
};

Hopefully this will help.

1,770

(5 replies, posted in Juicebox-Pro Support)

When I run it in IOS Chrome...

As I mentioned in my last post, Juicebox galleries should display and function fine in iOS Chrome.
Juicebox is tested in (and is compatible with) iOS Chrome.

However, I'd really need some more information to troubleshoot your problem.

(1) Do you see the problem in our own demo galleries or just in your own gallery?
Knowing this might help to track down the root of the problem. (The demo galleries run fine in Chrome on my own iOS device.)
If you see a problem with our demo galleries in your iOS Chrome browser, then the problem may be with your iOS Chrome browser. If this is the case, then try completely clearing your browser's cache before reloading your gallery's web page (or even uninstalling and then reinstalling the browser) to see if this helps.
If the demo galleries run fine but you still have a problem viewing your own gallery in your iOS Chrome browser, then the problem may lie somewhere within your gallery's web page. Maybe there are some custom CSS rules on your web page which are affecting the gallery's display. Check your web page for any CSS rules that apply to all instances of certain HTML elements (such as <div> or <img> tags) and target these rules to only those elements on your web page that require them using CSS selectors. (This is perhaps unlikely, being that your gallery seems to be working in other browsers, but until I'm able to see your gallery and its web page, I can't really rule anything out yet.)

(2) Please provide a working link to your own gallery so that I can try to see the problem for myself on my own iOS device.
Once I am able to see your gallery and test it on my own iOS device, I should hopefully be able to diagnose the problem and propose a solution.

(3) Please provide more information about the device and version numbers that you see the problem on. (Users in the past have said they they are using the latest version of something, unaware that an update is available, so stating actual version numbers avoids any confusion. Also, it might be useful information for the developers if there is a problem that needs to be addressed. Thank you.)
(a) What device are you using?
(b) What version number of iOS are you using?
(c) What version of iOS Chrome are you using?

Also, if you are viewing your gallery over a 3G or 4G connection (rather than over Wi-Fi), then please see this FAQ which has more information on 3G/4G vs Wi-Fi and a solution:
Why can't I view my gallery on a 3G mobile connection?

It says 80 Images,
View Gallery
But there are no thumbs

Just to clarify, this is the Splash Page. The Splash Page is a placeholder for the gallery which is displayed by default on small screen devices when the gallery is embedded in a page alongside other content and may be too small to be usable. More information on the Splash Page can be found in the Screen Modes section of the Gallery Tour.
I've also written much more about the Splash Page (and how to use and configure it) in this forum post.

By the way, the documentation for this is kind of lame.

We have comprehensive online support here. Each heading (in the side menu) is split into several subheadings and a large number of topics are covered (from embedding into web pages to advanced theming).
I'm happy to help (here in the forum) with anything that you might be having trouble with (although with your current query, I'd still really need to see the gallery in question to know what the problem might be).

Should I ask for a refund?

If you'd rather have a refund, this would not be a problem.
Just let me know and I'll send you an email where you can send me your Juicebox-Pro transaction details.
I'll then forward them on to the admin team who will process your refund request.

Incidentally, if you are using the Juicebox module for Drupal, then the problem might somehow be related to the module's code (rather than the core Juicebox code) and posting in the Drupal forum may prove to be useful.
(The Juicebox module for Drupal is an unofficial plugin which was not written by ourselves but is well supported by its author in the Drupal forum.)

I hope my notes above help.
If I'm able to check out your gallery for myself, I should hopefully have a better idea of what the problem might be and I'll hopefully be able to help further.

1,771

(16 replies, posted in Juicebox-Pro Support)

On your test page, it's possible that you're running into the problem described in the 'Using percentage heights' note here.
(You are changing the gallery's parent container's height using JavaScript immediately before loading the gallery and the gallery has been assigned a galleryHeight of 100%.)

I notice that your gallery container comes before the embedding code on your web page.
Try moving your gallery container to after the embedding code on your web page.
My own tests suggest that this might make a difference (but, again, only for a galleryHeight of 100% - other percentages and fixed pixel values should not be affected).

I have notified the developers that, depending on the conditions, a galleryHeight of 100% can sometimes result in an unexpected height. (I have reported both anomalies: (1) a galleryHeight of 100% in a parent container of fixed height without other content on the page and (2) a galleryHeight of 100% in a parent container of fixed height with other content on the page and the gallery container before the embedding code.)

I realise that your test page was designed to show an issue (thank you for providing it) but if it was a problem that you could not overcome, then a solution might be to set your galleryHeight to be your own custom 'galleryHeight' JavaScript variable (which you already use to set the height for your 'header' <div>).

galleryHeight: galleryHeight,

Alternatively, you can always set a gallery's dimensions after the gallery has loaded (for example when the browser window is resized) using the Juicebox-Pro API setGallerySize(width: int, height: int), method. Please note that this method accepts fixed pixel values only (not percentages).

1,772

(5 replies, posted in Juicebox-Pro Support)

Doesn't work on IOS Chrome.

Juicebox galleries should display and function fine in iOS Chrome.
Take a look at our Demo Gallery pages and you should hopefully see that the galleries display as expected.

I've clicked your link but it results in an error 404 (file not found). Please check the link and post back.
Once I'm able to see your gallery, I will check it on my own iOS device and let you know what I see.

In the meantime, please let me know what version of iOS and Chrome you are using.

It might help to check your web page for HTML errors with the W3C Markup Validation Service and then fix any errors that are reported.

Also, please let me know what happens (or does not happen) when you try to view the gallery in iOS Chrome (and what you mean when you say that it doesn't work). Does the gallery display at all? Does the gallery display but not function? Are any error message displayed on screen and, if so, what do they say? If you could perhaps provide a screenshot to let me see what you are seeing, this might also help. Thank you.

Also, is there a way to pinch photos to zoom in and out?

Images within a 100% x 100% gallery or an expanded gallery (where the gallery fills the browser window) will not be able to be pinch-zoomed as the viewport will be locked. However, if you embed a gallery in a web page alongside other content at less than 100% x 100% and set showSplashPage="NEVER" ('Customize -> Splash Page') or screenMode="LARGE" ('Customize -> General'), then you should be able to pinch-zoom images within the gallery.
As an example, you should be able to pinch-zoom images within this gallery (as long as the gallery is not expanded where the viewport will be locked).

However, please note that you would need to be very precise with your pinch-zoom gesture as Juicebox uses its own gestures and the initial movement of a pinch-zoom action could be misinterpreted as the start of a swipe gesture to navigate within the gallery.

If you want to allow users to pinch-zoom images within a gallery, I would recommend setting showOpenButton="TRUE" ('Customize -> Lite'). When a user clicks the Open Image button on the gallery's Button Bar, the image is opened in a new tab where it can easily be pinch-zoomed.

1,773

(16 replies, posted in Juicebox-Pro Support)

If you set a gallery's height to something like 50%, then the gallery's height should be 50% of it's parent container.
In the following example, the gallery's actual height will be 200px.

<!--START JUICEBOX EMBED-->
<script src="jbcore/juicebox.js"></script>
<script>
    new juicebox({
        containerId: "juicebox-container",
        galleryHeight: "50%"
    });
</script>
<div id="parent" style="height: 400px;">
    <div id="juicebox-container"></div>
</div>
<!--END JUICEBOX EMBED-->

This seems to hold true (at least in the example above) for all percentages other than 100%.
If, in the example above, the gallery's height is set to 100%, then the gallery's actual height is, indeed, 100% of the page height rather than 100% of the parent container's height but only if there is no other content on the web page. If there is other content on the page, (try adding something like <div id="extra">Text</div> to the page) then the gallery's actual height is as expected (100% of the parent container = 400px).
I'm not sure if this is intentional or not but I'll let the developers know.
Thanks for pointing this out.

1,774

(16 replies, posted in Juicebox-Pro Support)

A Juicebox gallery's galleryWidth and galleryHeight can be either percentages or absolute pixel values only. Other units of size are not supported.

If a galleryWidth or galleryHeight ends with a percentage character ('%'), then the dimension will be a percentage (of the gallery's parent container). Otherwise, the galleryWidth or galleryHeight will be treated as a fixed pixel value. (Internally, any non-numeric characters will be truncated and 'px' will be appended.)

1,775

(3 replies, posted in Juicebox-Pro Support)

If I add an image at the end and I change First image index by General to this last image number has this  implications for SEO.
Anyway, the gallery start with the last image added.

I'm not quite sure what you mean.
In the second suggestion I posted above, I use firstImageIndex to initially display a specified image in the gallery. The code that feeds the 'index' to firstImageIndex essentially reverses the image numbers so, in a gallery of 12 images (for example) a ?image=1 query string will result in a firstImageIndex of 12 which will display the last image in the gallery. If you then add images to the beginning of your gallery, ?image=1 will still refer to the last image in the gallery which will not have changed and this should be fine for SEO.
If you were to use my second suggestions above and add an image to the end of your gallery, then ?image=1 will then refer to the new image and will break the SEO consistency.
I hope that my suggestions above help but please note that, although the code has been tested for functionality, it has not actually been tested with regard to SEO.