1,826

(1 replies, posted in Juicebox-Pro Support)

Please see this FAQ:
How do I allow or prevent users from saving gallery images?

The right-click menu is disabled for a Juicebox gallery so users will be unable to save gallery images via this method.
In addition to setting showOpenButton="FALSE" (as noted in the FAQ above), set showDownloadButton="FALSE" (in JuiceboxBuilder-Pro's 'Customize -> Button Bar' section) and the user will be unable to open or download the image via the gallery. This is as much protection as the gallery can give.

However, it is not possible to prevent users from taking screenshots of your gallery so you might like to watermark your images using the Watermark functionality built into JuiceboxBuilder-Pro.
Adding Watermarks: https://www.juicebox.net/support/creati … watermarks

Please bear in mind that if a user knows the structure of a Juicebox gallery, then it would be possible to track down the images from the paths in the gallery's configuration file. There is nothing you can do to prevent against this as viewing the source of web pages is browser functionality that cannot be disabled via a web page. (Again, watermarking your images might be the best policy.) Anything you do to prevent a user from accessing the image directly on your web server would also prevent Juicebox from displaying the image in the gallery.

I hope this helps.

1,827

(1 replies, posted in Juicebox-Pro Support)

It's probably by design (by Apple) due to the iPad having a larger screen than the iPhone and, therefore, being able to display more information without having to hide the address bar to give the page content as much space as possible.
Unfortunately, I do not have an iPad on which to test so this is just speculation on my part, although this seems to be the general consensus of opinion in this (old) Apple forum thread: https://discussions.apple.com/thread/5528272

Are your iPad and iPhone running the same version of iOS? (What version is it?)
Apple have changed the way Mobile Safari works (with regard to full screen content and hiding toolbars) several times over the years.
For example, they introduced the 'mimimal-ui' viewport property in iOS 7 and removed it from iOS 8. (Try a web search for 'Apple minimal-ui' for more information.)

Also, it might help to know if you are referring to a full-browser Juicebox gallery page (a 100% x 100% gallery with no other content) or a web page with an embedded Juicebox gallery and other content (including vertical scrollbars).
Try viewing both types of pages (and also a page not containing a Juicebox gallery) to see if what you are reporting happens with all page types.

I suspect it's just the way that Mobile Safari works on the iPad, though.

1,828

(1 replies, posted in Juicebox-Pro Support)

It looks like you're almost there. Try adding imageClickMode="NONE" to your gallery's configuration options (in JuiceboxBuilder-Pro's 'Customize -> Main Image' section).

For other's trying to achieve a similar result, try the following options:

autoPlayOnLoad="TRUE"
buttonBarPosition="NONE"
captionPosition="NONE"
enableKeyboardControls="FALSE"
galleryTitlePosition="NONE"
imageClickMode="NONE"
imageTransitionType="CROSS_FADE"
showAutoPlayStatus="FALSE"
showImageNav="NEVER"
showImageOverlay="NEVER"
showSmallThumbsOnLoad="FALSE"
showThumbsOnLoad="FALSE"

1,829

(1 replies, posted in Juicebox-Pro Support)

Apparently in v1.5.0 you can now use JSON as a config instead of XML.

That's right. As of v1.5.0, the Juicebox configuration fie can be JSON instead of XML (noted in this blog post).

It looks like you were just about there... just change your "image" to "images".

Here's a sample JSON configuration file to show the format required:

{
    "useFlickr": "FALSE",
    "galleryTitle": "Gallery Title",
    "textColor": "rgba(255,255,255,1.0)",
    "thumbFrameColor": "rgba(255,255,255,0.5)",
    "showOpenButton": "TRUE",
    "showExpandButton": "TRUE",
    "showThumbsButton": "TRUE",
    "useThumbDots": "TRUE",
    "useFullscreenExpand": "TRUE",
    "images":[
        {
            "imageURL": "images/IMG_0386.jpg",
            "thumbURL": "thumbs/IMG_0386.jpg",
            "linkURL": "images/IMG_0386.jpg",
            "linkTarget": "_blank",
            "title": "IMG_0386",
            "caption": "Caption Text"
        },
        {
            "imageURL": "images/IMG_0156.jpg",
            "thumbURL": "thumbs/IMG_0156.jpg",
            "linkURL": "images/IMG_0156.jpg",
            "linkTarget": "_blank",
            "title": "IMG_0156",
            "caption": "Caption Text"
        },
        {
            "imageURL": "images/IMG_0214.jpg",
            "thumbURL": "thumbs/IMG_0214.jpg",
            "linkURL": "images/IMG_0214.jpg",
            "linkTarget": "_blank",
            "title": "IMG_0214",
            "caption": "Caption Text"
        }
    ]
}

Just be sure to name your JSON file with a .json file extension and point towards it in your gallery's embedding code using the configUrl configuration option, such as:

configUrl: "config.json"

1,830

(7 replies, posted in Juicebox-Pro Support)

Thanks for the clarification.
Juicebox uses the same custom characters for the main image navigation buttons and the thumbnail navigation buttons so it would not be possible to use a different character for main images vs thumbnails.
Also, the navigation button color options (navButtonIconColor, navButtonIconHoverColor, navButtonBackColor) affect both main image and thumbnail navigation buttons.

However, you could use CSS to change the color of only the thumbnail navigation buttons (for example).

If you wanted to use black arrows for the thumbnail navigation buttons, try something like the following in the <head> section of your gallery's HTML page.

<style type="text/css">
    .jb-navigation.index-navigation .jbn-nav-button {
        color: rgba(0,0,0,1) !important;
    }
</style>

1,831

(3 replies, posted in Juicebox-Pro Support)

[edit] wow, that was simple :-)

I'm glad you've got it working.

Thanks a lot for that great help,

You're welcome!

... the gallery loads a fullscreen image of the 1st image of the gallery and all the way at the bottom you need to hit on the "View Gallery" in order to open the gallery.

What you are describing is the Splash Page.

The Splash Page is a placeholder for the gallery which is displayed by default in Small Screen Mode (on small screen devices) when the gallery is embedded in a page alongside other content (rather than displayed on a page of its own with dimensions of 100% x 100%, filling the browser window) and may may too small to be usable.
When the user clicks or taps the Splash Page, the gallery is expanded to fill the user's browser window (giving the images more space to be displayed).
For more information about the Splash Page and how Juicebox adapts to different devices and screen sizes, please see the Screen Modes section of the Gallery Tour.

You can choose to not use the Splash Page by setting showSplashPage="NEVER" (in JuiceboxBuilder-Pro's 'Customize -> Splash Page' section).
Alternatively, you can force the gallery to be displayed in Large Screen Mode (which, by default, does not use the Splash Page) on all devices and in all browsers by setting screenMode="LARGE" ('Customize -> General').

If you choose to continue to use the Splash Page, you can customize it using the Splash Page configuration options.

Also, is there a way to totally disable and hide those 3 icons on the top right that allow you to Hide Thumbnails, Expand Image etc?

Yes. You can disable individual Button Bar buttons via their own controls in JuiceboxBuilder-Pro's 'Customize -> Button Bar' section.
If you want to hide the Button Bar completely (along with all its buttons), then set buttonBarPosition="NONE" (also in 'Customize -> Button Bar').

I would also recommend upgrading your galleries to the current version of Juicebox-Pro (v1.5.0) as many bugs have been fixed (and new features introduced) since v.1.2.0. Please see the Version History for a list of changes between versions.
Instructions for downloading the latest version and upgrading existing galleries can be found on the Upgrading Juicebox support page.

You're welcome.
I'm glad the workaround is a suitable solution until the bug is fixed.

1,834

(7 replies, posted in Juicebox-Pro Support)

Can the arrows on the main image and the arrows in the thumbnail area be styled differently...

Yes. Please see the Custom Icons support section in the Theming Guide for details.
You could swap the current icons for other ones from the IcoMoon library (there are a few different arrows to choose from) or you could create your own icons (or modify existing ones) using the IcoMoon editor.

1,835

(3 replies, posted in Juicebox-Pro Support)

Unfortunately, Juicebox-Pro does not support mouse wheel scrolling.

Juicebox-Pro was written from the ground-up (and is not just SimpleViewer-Pro ported to HTML 5).
As such, the two applications do not feature exactly the same functionality and there are not always direct translations between SimpleViewer-Pro's configuration options and those of Juicebox-Pro.
Please see this SimpleViewer blog entry for more information on the differences between SimpleViewer and Juicebox.

You might like to post your idea 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.

Otherwise, you could perhaps implement mouse wheel functionality manually using JavaScript and the Juicebox-Pro API (to determine the current image, the total number of images in the gallery and to show the previous or next image in the gallery when the mouse wheel is scrolled).
To see this in action, create a sample gallery in JuiceboxBuilder-Pro and use the following HTML code as the gallery's 'index.html' file. If you want to be able to loop through the images (rather than stop at the first and last images), set var loop = true;.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Juicebox-Pro Gallery</title>
    <meta charset="utf-8" />
    <meta name="viewport" id="jb-viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1, user-scalable=0" />
    <style type="text/css">
    body {
        margin: 0px;
    }
    </style>
</head>
<body>
    <!--START JUICEBOX EMBED-->
    <script src="jbcore/juicebox.js"></script>
    <script>
    var jb = new juicebox({
        containerId: 'juicebox-container'
    });
    // Run following when gallery is ready
    jb.onInitComplete = function() {
        // Wheel handler function
        function wheelHandler(e) {
            var current = jb.getImageIndex(); // Get current image index number
            var loop = false; // Set to 'true' to loop through images with mouse wheel 
            if (e.deltaY > 0) { // If mouse wheel is scrolled down...
                if (current > 1) {
                    jb.showImage(current - 1); // Show previous image in gallery
                } else {
                    if (current === 1 && loop) {
                        jb.showImage(maximum); // Show last image if currently displaying first image and looping is enabled
                    }
                }
            }
            if (e.deltaY < 0) { // If mouse wheel is scrolled up...
                if (current < maximum) {
                    jb.showImage(current + 1); // Show next image in gallery
                } else {
                    if (current === maximum && loop) {
                        jb.showImage(1); // Show first image if currently displaying last image and looping is enabled
                    }
                }
            }
        }    
        var maximum = jb.getImageCount(); // Get total number of images in gallery
        document.getElementById('juicebox-container').addEventListener('wheel', wheelHandler); // Add 'wheel' event function
    };
    </script>
    <div id="juicebox-container"></div>
    <!--END JUICEBOX EMBED-->
</body>
</html>

I've tested this in Chrome, Edge and Firefox and it seems to work well.

1,836

(7 replies, posted in Juicebox-Pro Support)

If you want to remove the semi-transparent background from the gallery navigation buttons, set the Nav Button Back Color Opacity to zero (in JuiceboxBuilder-Pro's 'Customize -> Color' section).
If editing your gallery's XML file directly, set navButtonBackColor="rgba(0,0,0,0)".

Thank you for reporting this problem.
It looks like the problem happens when the image is dynamically cropped to fill the viewport. If the entire width of the image is visible, the problem cannot be seen.
I have logged a bug report with the developers and it should hopefully be fixed in the next version.
In the meantime, a workaround would be to set the image navigation position to be relative to the stage rather than the image by setting imageNavPosition="STAGE" (in JuiceboxBuilder-Pro's 'Customize -> Main Image section').

1,838

(3 replies, posted in Juicebox-Lite Support)

You're welcome!

I hope you get on well with Juicebox-Pro.
Be sure to check out the Getting Started guide which has a short 'Upgrading To Pro' support section.

1,839

(9 replies, posted in Juicebox-Pro Support)

Thank you for sharing your code.
Hopefully it will help others who want to achieve the same thing (to hide navigation buttons in the combination of Large Screen Mode and Touch Input Mode).

1,840

(3 replies, posted in Juicebox-Lite Support)

Just make sure that your CSS menu has a high enough z-index value so that it is stacked on top of all gallery elements.

In your 'menu.css' file, on line 34 you have the following CSS:

#cssmenu > ul > li {
  float: left;
}

Just add z-index: 9999; to this section (as follows) and your menu should appear on top of your gallery.

#cssmenu > ul > li {
  float: left;
  z-index: 9999;
}

This should hopefully solve your problem.

1,841

(9 replies, posted in Juicebox-Pro Support)

These are not the same thing though: iPhones use Small Screen mode, but iPads use Large Screen Mode and are touch screens.

That's correct. Instead of saying "in Small Screen Mode/Touch Input Mode" I should probably have said "in Small Screen Mode and Touch Input Mode (the combination used on an iPhone which you referred to)".

For other users reading this thread, more information about Screen and Input Modes can be found in the Gallery Tour.

I'm not sure if you are specifically referring to thumbnail or main image navigation buttons but the current configuration options which change the visibility of the navigation buttons are:
showImageNav (which affects the main image nav buttons in both Small and Large Screen Modes) HOVER/ALWAYS/NEVER
showSmallThumbNav (which shows or hides the thumbnail nav buttons in Small Screen Mode) - TRUE/FALSE

Unfortunately, there's no configuration option available which would allow you to change the visibility of the navigation buttons for a specific Input Mode.

If you wanted to try to hide navigation buttons when they would normally be visible (for example), then you could perhaps detect which Screen Mode is currently being used (via the Juicebox-Pro API getScreenMode() method) and then implement some custom CSS and JavaScript to override Juicebox-Pro's own handling of the nav button visibility.
This might be fraught with difficulty (there are often unforeseen knock-on problems with such modifications) and I would not recommend it but you are free to try it if you like.
Please note that there is no Juicebox-Pro API method to determine which Input Mode is currently being used. You'd need to write your own routine to detect whether a touch screen is in use (if you wanted to).

Thank you for posting your suggestion in the Feature Requests forum thread.
It will certainly be seen by the developers there.

1,842

(3 replies, posted in Juicebox-Pro Support)

You're welcome!

1,843

(3 replies, posted in Juicebox-Pro Support)

It looks like your gallery's Splash Page image is being squashed by the following custom CSS code from line 154 of your 'style.css' page:

.content-box .item img{display: block;width: 100% !important;height: auto;-webkit-transition: all .5s ease; /* Safari and Chrome */-moz-transition: all .5s ease; /* Firefox */-ms-transition: all .5s ease; /* IE 9 */-o-transition: all .5s ease; /* Opera */transition: all .5s ease;}

... specifically the width: 100% !important; entry.
This custom CSS rule is being applied to all <img> tags within .content-box .item (which is where your gallery is) including those in your gallery.
Normally, Juicebox center-crops the Splash Page to fill the viewport but your custom CSS overrides this and forces the image to be displayed with 100% width no matter what size the Splash Page is.

First of all, try removing !important from width: 100% !important; to see if this helps. (This might be all that is required to solve your problem.)

You could also target your custom CSS to only those elements on your web page that require them using further CSS selectors.

Another possible solution might be to use the following CSS:

.jb-splash-holder img {
    width: auto !important;
}

Add it to your web page after your 'style.css' file is loaded (maybe at the end of your gallery's 'jbcore/classic/theme.css' file) so that it is used in preference to your own custom CSS for the Splash Page image.

1,844

(9 replies, posted in Juicebox-Pro Support)

You're welcome!

In Small Screen Mode (iPhone) my PNGs don't appear at all, which is ideal.

Just to clarify, the main image navigation buttons would appear in Small Screen Mode/Touch Input Mode only if you set showImageNav="ALWAYS" (in JuiceboxBuilder-Pro's 'Customize -> Main Image' section).
When showImageNav="HOVER" (the default value), the main image navigation buttons would be hidden in Small Screen Mode/Touch Input Mode (in preference to the swipe gesture for navigating between images).

1,845

(9 replies, posted in Juicebox-Pro Support)

The only problem I can think of at the moment is that your PNG image will not be scaled when navButtonIconSize is used.

However, if navButtonIconSize is used, then the navigation button background (the semi-transparent grey circle) will be scaled and, if it is large enough, it will become visible behind your PNG image.
To counteract this, you can make the navigation button background completely transparent by setting navButtonBackColor="rgba(0,0,0,0)" (in JuiceboxBuilder-Pro's 'Customize -> Color' section).

Otherwise, as long as your PNG image looks OK in both Small Screen Mode and Large Screen Mode, I do not see any other obvious problems or pitfalls.

1,846

(4 replies, posted in Juicebox-Pro Support)

Now I work in WP, here is screenshots, thanks.

Unfortunately, the forum is not configured to allow the posting of images.
If you want to share a screenshot, please upload it somewhere (perhaps your own website or a file sharing service such as Dropbox or Google Drive) and provide a link. Thank you.

"WP-Juicebox is unable to insert Gallery shortcode tag" (Juicebox lite)

If you are using a non-default permalink structure (anything other than 'Plain' or 'Post name'), then the solution is to open the plugin's 'config.php', jb-config.php' and 'save-gallery.php' files in a plain text editor and change all instances of:

include_once $wp_path . 'wp-blog-header.php';

... to:

include_once $wp_path . 'wp-load.php';

There is just once instance near the top of each file.
This fix will be included in the next official version of the plugin.

If you have trouble implementing this fix manually, you can download a version of the plugin which includes the fix here.

If you are already using 'Plain' or 'Post name' permalinks, then the error message may also be due to the use of an unsupported editor (instead of the WordPress default TinyMCE editor).
If you are using a different editor, please try temporarily reverting to the default editor to see if this helps.

If you continue to experience difficulties, please let me know what versions of WordPress and WP-Juicebox you are using.It may help to know. Thank you.

1,847

(1 replies, posted in Juicebox-Pro Support)

One possible solution would be to use the Open Image button on the Button Bar.
The Open Image button will open the image's linkURL (in a tab specified by the corresponding linkTarget).
(If an image does not have a linkURL entry, then the Open Image button will use the imageURL instead.)

Therefore, you could add linkURL entries to your gallery pointing towards the files that
The linkURL entries can be relative (to the page containing the gallery's embedding code) or absolute (in the form 'http://www.example.com/images/image0001.tiff').

If using JuiceboxBuilder-Pro to create or edit your galleries, you can add linkURL entries on the 'Images' tab. (Just click a thumbnail to reveal the input fields.)

If you like, you could change the Open Image button's icon (following the Using Custom Icons support section in the Theming Guide) and change its rollover tooltip text using the languageList configuration option. (Please see the International Gallery Text support section for details.)

Alternatively, you could just set up links in your image captions to link to your custom files.
You can add links to captions using HTML formatting (specifically the <a> tag) as noted in this FAQ:
How do I add HTML formatting to image captions and titles?

If using the caption suggestion above, you could even use the download attribute in your caption link (supported by Chrome, Edge, Firefox and Opera) to instruct the browser to download your custom file instead of navigating to it.
A caption link (entered via JuiceboxBuilder-Pro's 'Images' tab) might look something like this:

<a href="http://www.example.com/images/image0001.tiff" download>Click here to download image.</a>

1,848

(3 replies, posted in Juicebox-Pro Support)

While my problem is juicebox.js blocked. I need a solution that had escaped from google juicebox.js pagespeed tools

This is not a problem. Google does not know that the 'juicebox.js' file must be fully loaded for your Juicebox gallery (above-the-fold) to be displayed. (The only element on your web page that is blocked from being rendered while the 'juicebox.js' file is loaded is the gallery itself.)
Also, the 'juicebox.js' file must be loaded from within the 'jbcore' folder or the gallery will not function correctly. The JavaScript code cannot be copied and pasted elsewhere.

I only mentioned google.com and amazon.com to demonstrate that other popular websites have similar PageSpeed Ingights results. (They were just the first two websites that came to mind.)
google.com has a 'Should Fix' entry themselves and amazon.com has "Eliminate render-blocking JavaScript and CSS in above-the-fold content", "Prioritize visible content" and "Leverage browser caching" just like your own website.

The results of these tests are just recommendations for an ideal scenario.
They are not definitive problems (like HTML validation errors) which really should be fixed and, in the case of Juicebox, they are just notifications which are a direct result of how Juicebox works.

1,849

(3 replies, posted in Juicebox-Pro Support)

Google's PageSpeed Insights tool can certainly be very helpful but it is also useful to remember that the results are just Google's ideal recommendations (without any knowledge of the content of the page or if any of their recommendations can even be implemented).

With regard to the 'render-blocking JavaScript and CSS' message, the results note:

None of the above-the-fold content on your page could be rendered without waiting for the following resources to load.

That is correct but, knowing the content of your web page (the only content above-the-fold is your Juicebox gallery), it is absolutely necessary to wait for the 'juicebox.js' and 'theme.css' files to load before the gallery can be displayed and is visible.

The 'Prioritize visible content' message notes:

This usually indicates that additional resources, loaded after HTML parsing, were required to render above-the-fold content.

That, again, is true. Additional resources (the gallery's 'config.xml' file and the JavaScript, CSS, image and font files in the 'jbcore' folder) are required due to the design and required structure of Juicebox. However, there is nothing that can be done to incorporate all these resources directly into the gallery's HTML embedding page and the message is really nothing to worry about.

Knowing the way that Juicebox works (requiring the 'juicebox.js' and 'theme.css' files to be fully loaded before the gallery can be displayed and also requiring an external XML file and the 'jbcore' folder) the two warnings above can be put into context. They are not truly problems but necessities for the gallery to be displayed and function correctly.

Try entering other popular websites (such as 'http://google.com' or 'http://amazon.com') into Google's own PageSpeed Insights tool and you'll see that the results are often similar to those reported for your own Juicebox gallery web page.

When using any library or package which requires a number of external resource files (such as Juicebox and its 'jbcore' folder), you'll find that the PageSpeed Insights tool gives similar results.

Leverage browser caching

You could certainly set HTTP cache headers within an .htaccess file if you like. Try a web search with terms such as 'http cache header htaccess' to find out more information.
However, such a decision (to force browser caching or not) is really up to the individual user (and not directly Juicebox dependent).

Incidentally, all these messages refer to the Speed section. The User Experience section for your Juicebox gallery page gives a score of 100/100 with the message "Congratulations! No issues found.".

I hope this helps to clarify things.

1,850

(3 replies, posted in Juicebox-Pro Support)

That's great!
Thank you for letting me know.