Topic: Viewing gallery - iPhone clipping

Firstly, thanks for your help so far.  I have finally finished my website and am delighted with the end result.  I do however, have a slight problem.  I have got the website working on all browsers, across all resolutions and resizing Windows equally works well.  The problem I have is that when I view the gallery on an iPhone, it initially shows thumbnails only (which is expect given resolution) but upon selecting any of the thumbs, the image displays but the caption/bottom bit of image is clipped.  If you select the white space in the left hand frame you can scroll the image up and down (thus showing the caption underneath).  Website can be found here www.martinturnerartist.com

Many thanks!

Re: Viewing gallery - iPhone clipping

The problem is likely due to the layout of your page.
I'm not sure that Mobile Safari always plays nice with 100% height framesets.
In landscape mode, it looks like Mobile Safari is not taking into account the address bar (at the top) and/or the toolbar (at the bottom).
You could try setting heights for each of your frames (using a 'height' or 'style' attribute) on the page containing the frames ('index2.html') but I'm not sure that this will help.

<frame src="menu.html" noresize="noresize" name="leftFrame" scrolling="No" id="leftFrame" title="Menu" height="100%" style="height: 100%;" />
<frame src="port.html" name="mainFrame" id="mainFrame" title="Port" height="100%" style="height: 100%;" />

I think you might be better off replacing your frameset layout with a CSS solution.
Take a look at the Side Menu example in the Using a Resizable Gallery with a Header support section.
this is essentially the layout that you are looking to achieve (a side menu with a fixed width for your logo and site navigation) and the gallery takes up the remainder of the available space (without the need for any scrollbars).
This should work on all platforms without any clipping.
You can examine the source of the demo page in your browser and copy/modify the code to suit your own needs.

Here is a single page example that you might like to try.
To see it in action, just create a sample gallery in JuiceboxBuilder-Pro and use the code below as your gallery's 'index.html' page.
You can add your own content to the 'menu' <div> and change the styling (colors, fonts, menu width, etc.) if you like.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <style type="text/css">
            html, body {
                height: 100%;
                overflow: hidden;
            }
            body {
                background-color: #222222;
                margin: 0px;
            }
            #menu {
                background-color: #222222;
                color: #666666;
                font-family: sans-serif;
                font-size: 20px;
                float: left;
                height: 100%;
                text-align: center;
                width: 100px;
            }
            #wrap {
                float: right;
                height: 100%;
            }
        </style>
        <script type="text/javascript" src="jbcore/juicebox.js"></script>
        <script type="text/javascript">
            var jb;
            function doLayout() {
                var windowHeight = parseInt(window.innerHeight ? window.innerHeight : $(window).height(), 10);
                var windowWidth = parseInt(window.innerWidth ? window.innerWidth : $(window).width(), 10);
                var menuWidth = parseInt($('#menu').outerWidth(true), 10);
                var galleryWidth = windowWidth - menuWidth;
                $('#wrap').height(windowHeight);
                $('#wrap').width(galleryWidth);
                if (jb) {
                    var galleryWidth = parseInt($('#wrap').innerWidth(), 10);
                    jb.setGallerySize(galleryWidth, windowHeight);
                }
            }
            $(document).ready(function() {
                $(window).resize(doLayout);
                jb = new juicebox({
                    containerId: "juicebox-container"
                });
                doLayout();
            });
        </script>
        <title>Test</title>
    </head>
    <body>
        <div id="menu">
            <span>Menu</span>
        </div>
        <div id="wrap">
            <div id="juicebox-container"></div>
        </div>
    </body>
</html>

I hope this helps or at least points you in the right direction.