Download
Latest version is 3.22
Download zip file
md5sum: 0ab9f8f4a3837fed9b397e1832478b9b
Info on how to use floatbox can be found in the Description and Instructions page or in the instructions.html file included in the zip download.
Change Log
v3.22
2008/11/15
Bug Fixes
- Captions displaying html anchors whose href attributes included a multi-item querystring (one with ampersands in it) would fail to render correctly.
- Floatbox options could erroneously be picked up from anchor href querystring items within an html caption.
Enhancements
- Shadow effect has been extended. In addition to the "drop" shadow on the left and bottom sides, you can have a "halo" shadow on all four sides. Shadow size is adjustable to 8, 12, 16 and 24 pixels.
- Browser cacheing of content fetched via AJAX is now disabled. This helps when a reload of dynamically updated content is required, especially for IE.
- Inline div and multi-media content is now fetched at display time, not at initial load time. This can also help reloading of dynamically updated content.
- Popup thumbnails that aren't floatbox enabled will now hide when clicked.
- Croation language localization file added.
v3.21
2008/11/03
Bug fixes
- Browser detection routines would break when floatbox was included on pages that also ran the prototype.js library (and quite likely other libraries as well). Floatbox looked for the presence (or absence) of document.getElementsByClassName to detect old Opera and Firefox versions, but prototype adds this function for those browsers. Browser detection is now done exclusively with the navigator appVersion and userAgent strings.
- Some installs of IE7 ignore "return false" in the onclick action of an anchor element. This would cause IE to try to load the page referenced in the href attribute of the close link. Depending on page configuration circumstances the result could be a base page refresh, unwanted navigation to a default page, a directory listing, access denied, page not found, or a session re-authentication prompt. This is fixed by setting the event returnValue to false for IE just prior to executing "return false".
- IE6 can show transparent speckles in place of full-black pixels when opacity is less than 100%, messing up fades a little bit. This was fixed by setting the content background color to black for image displays in IE6.
Enhancements
- autoStart option has been extended to accept 'once' as a parameter. An item with "autoStart:once" on its rev attribute will be auto-shown only on the first page load of a session. (Client browser must allow session cookies.)
- Floatbox's main content div's background color is now white instead of transparent. This is helpful for html content that is being displayed when the color theme is neither 'auto' nor 'white'.
- autoGallery option added to the floatbox.js options section.
- Finnish language localization file added. (Thanks JIK!)
v3.20
2008/10/19
Enhancements
- Floatbox can now auto-create an image gallery without rel and rev tag markups on the page anchors. Just set autoGallery to true and every link to an image on a page will get added to a floatbox gallery (unless the rel attribute = "nofloatbox"). There's also a new autoTitle option which will set the title attribute, and thereby the floatbox caption, for each autoGallery item.
- Print option added. Displays a print link in the info panel which will print just the contents of the floatbox, not the entire page. You can assign css settings to the print document if needed for proper print layout.
- Can optionally display a series of index links for galleries in the caption or info panels with popup thumbnails when hovered. The index links look like this: 1 ... 12 13 14 15 16 17 18 ... 99. The number of links shown is controlled by the new numIndexLinks option.
- By popular demand resizing animation can now be split, setting width or height first and the other dimension in a second pass.
- Info and Control panels can now be located at the top, bottom, left or right. Info panel can be centered.
- Positioning of floatbox on the screen can now be controlled with new boxLeft and boxTop options. Set these to fixed pixel values, percentage offsets, or 'auto' for default centering.
- Configuration options such as urlLanguages, preloadAll etc., can now be set as page-specific and query-string options, not just in the .js code. Use the new fbPageOptions object syntax as described in the docs to do this.
- Floatbox can now be dragged (relocated) with the mouse. Disable this with the new enableDrag option if you like.
- Smarter loading when included on cross-domain iframe heirarchies where a child iframe is coming from a different domain than a parent document. Now floatbox will attach to the topmost document that is in the same domain, but will not try (and fail) to attach to a document in a different domain.
- Opera and just about all Mac browsers except Safari 3 can't show custom cursors. The resize tool is now set to the top-left widget for these browsers.
- Slideshow is now paused if an "Info..." item is clicked.
- For stacked floatboxes, if tooltips are set to show once they will be cleared for both the parent and child boxes, not just the current floatbox.
- A new class of "fbPopdown" sets up popup thumbnails similar to "fbPopup" ones, but the fbPopdown class will appear beneath the hovered anchor, not above it.
- New API addition: fb.fbParent var is available to reference the floatbox immediately beneath the top one when there are stacked boxes.
- An autoStart request passed in the page's URL query string will no longer invoke an item that has showThis:false as a rev attribute option. This gets around a problem of launching a slideshow when you are trying to autoStart a single item from a group.
- Lots of testing and changes to increase reliability in old browsers and on OS X Macs.
- New language localization files: Polish, Czech, Galician, Norwegian and Vietnamese.
Bug fixes
- Floatbox could fail on exit and cause the host page to load a directory or a default page when displaying an image that was launched with fb.loadAnchor. Some safety checks were added to the routine that looks for thumbnails associated with image anchors and this has fixed the issue.
- A combination of two bugs consipired so that attempting an AJAX load of an item whose anchor includes a query string with a reference to an image would fail.
- Flash that was added to a page using the swfobject library would fail to unhide on floatbox exit.
- Floatbox would fail in Safari 3.0 due to the RegExp.compile function not being available in that browser.
- Direct loaded Flash was not displaying in a number of older browsers on Macs. Flash's wmode was changed to "window" for these browsers and they seem to work fine now.
- Direct loaded Quicktime was not displaying in Safari on Macs. To fix this, an embed is used rather than the standard object syntax if a Mac/Safari browser is detected.
- The 404 image that is displayed for image links that can't be found would break if shown a second time in a floatbox session.
- Safari 2.x would not run floatbox at all. Now it does, but not very well. This is not a supported browser.
- Scrollbar flashes that could appear on floatbox start and during transition between gallery items have been eliminated.
Changes
- If width and height are not provided in the rev tag for a non-image item in a gallery group, dimensions will be inherited from the previously shown item.
- Because the control panel can now be located at the top of the floatbox, all options and DOM object names that referenced upperNav and lowerNav have been changed to navOverlay and navButton. If you have the old syntax nav options on your pages, they will still be recognized without making any changes.
- Secondary (stacked) floatbox background overlays now default to no animated fading.
- Compressed versions are now provided as gzipped files and instructions for use on Apache.
- The fb.rex collection of regular expressions has been discarded and the regular expressions disbursed throughout the code for easier readability and maintenance.
- The vertical positioning of the popup Prev and Next widgets over images has been improved and can no longer be pushed below the image.
- The frame buster buster that blocked attempts by external pages to reload themselves into the top document was removed. It only worked in IE and Opera and caused very obscure problems in a few circumstances.
- Floatbox DOM restructuring and css changes were made to support flexible positioning of the info and control panels.
- There was a documentation error that said to use loadPageOnClose:this to reload the host page. The correct setting was loadPageOnClose:self. Now floatbox will accept both "this" and "self".
- A documentation error that stated that setting width and height by percentage was not available has been removed. You _can_ set width and height as percentages of the screen dimensions.
- Modified keyboard handler attachment strategy which makes it a little more robust in complex stackings of multiple floatboxes.
v3.12
2008/09/13
Bug fixes
- A serious problem with IE6 detection.
Floatbox used the jscript version number to detect IE6. In XP Service Pack 3, Microsoft updated IE6's jscript to the version used with IE7, which caused floatbox to recognize the browser as IE7. This misdetection created a number of problems for IE6 site visitors:
- no transluscent background overlay
- messed up drop shadows (IE6 can't render transparent png images)
- focus outline showing on clicked navigation controls
- select elements on host page could bleed through
- flashes during transition between items
- messed up positioning if disableScroll (aka fixed positioning) was configured.
There is still a lot of IE6 being used (>25% market share). Unfortunately, this means EVERYONE should update their floatbox installation. (There's also a version 2.x update down below with this fix in it, but that's the last udpate that will be made on that version stream.) If you want to just patch your current installation rather than re-download, see this forum topic for a replacement IE6 browser detect. But you really should update to the latest version to keep clean and current. - The Swedish language file was not saved as UTF-8 so the unicode arrow characters did not display.
- IE8 beta 2 was messing up its lower navigation layout in fixed positioning. As a precautionary measure, the lower nav controls were re-structured to avoid this in case the IE8 production release has the same problem.
- IE on XP is unable to display the tooltip arrow characters unless the XP language packs are installed. A detect for XP was added and the tool-tip arrows switched to ascii art for IE on XP.
- Flash and Java would successfully hide only on the top document, not in child iframes. (updated 2008/09/15)
- Floatbox-enabled links inside ajax content could be a little slow to initialize causing them to open in the top doc if clicked quickly. (seen only in Chrome, updated 2008/09/17)
v3.11
2008/09/08
Bug fixes
- Some bad screen flashes were happening in Firefox 2.x when navigating between grouped items (like an image gallery). This was fixed by toggling fixed/absolute positioning rather than toggling display=none when measuring the screen.
- Flash in an iframe in Firefox 2.x was not getting any mouse inputs. This was fixed by setting postion=fixed for all iframes in Firefox2 that fit the current screen dimensions.
- Again with the firefox - FF2 was not displaying video in quicktime movies. Again, the fix was to set position=fixed for this combination of browser and content.
- Firefox 2 was refusing to display some flash, and Firefox 3 was refusing to display some other flash. Both of these were fixed by forcing wmode=opaque for FF2 and wmode=window for FF3.
- A stoopid typo was preventing the loading gifs from displaying when initial content was slow to load.
- IE8 beta2 was sometimes choking when appending content from an inline div. Fixed by wrapping that code in a try/catch and setting innerHTML if it fails.
- AJAX content loads could show "Unable to fetch content..." briefly before showing intended content. Not no more. (This fix was patched into the v3.11 download on 2008/09/10.)
Enhancements
- Since support for fixed positioning had to be added to fix the Firefox problems, a configurable option - disableScroll - was added which allows floatbox to be shown with position=fixed. Setting disableScroll to true locks floatbox in place on the screen and causes it to ignore any scrollbar actions. (Except IE6 that can't do fixed positioning.) Note that fixed positioning is not applied if the floatbox content won't fit in the available screen area, because we'll need the scrollbars to work in that case.
- A beneficial side effect of setting fixed positioning for Firefox 2 iframes is that now the blinking cursor in form fields will no longer vanish.
- A small page named loading_iframe.html has been added to the graphics folder. Iframes load this file before setting their src to the desired content. This lets floatbox display the rotating loading gif while slow iframe content comes in.
- Language localization file for Swedish added.
Housekeeping
- A bunch of code changes/improvements that I'm too lazy to list here because it's past my bedtime.
v3.10
2008/08/31
3.10 is a major new release with many new features and capabilities.
See the new demo and instructions pages for details, and please visit the new forum for feedback and support.
- Direct loading of flash and quicktime
- Direct loading of YouTube, Yahoo Video, and many others
- HTML content via AJAX and inline DIVs
- Zoom from thumbnail to image and back
- Popup thumbnails
- International language localization
- Graphics without English text for non-English browsers
- Better animation fades and resizes during transitions and when closing
- Multiple floatboxes can be stacked
- Info box for descriptions, EXIF, help, etc.
- Resize images by clicking on them (with a custom cursor)
- Auto-detection of content type
- 3D drop shadows
Some things have been removed.
- Fixed positioning (aka, disabled scrollbars)
- IE quirks mode support. Now all your floatbox pages need valid doc types.
- Modal mode. I don't think anyone was using this, and you can re-create it through the other options if you need to.
- Resizing width first or height first. V3 only resizes dimensions all at once.
- Large sized control gadget graphics and associated css stylesheet no longer included.
Known problems.
- No blinking cursor in forms for Firefox 2. (Fixed in v3.11)
- QuickTime video does not show in Firefox 2. It plays, but no video. (Fixed in v3.11)
- Sizing and positioning is off in IE7 if the browser page zoom is more than 100%.
v2.47
2008/09/13
Bug fixes
- See the v3.12 change log notes above for details on the IE6 browser detection problem.
v2.46
2008/08/04 (updated 2008/08/25)
Bug fixes
- IE6 select elements could be messed up after floatbox hid and then showed them. Now unhidden elements have focus applied to them for firefox 2.x, which is the only browser that needs that done.
- IE6 on an SSL site would throw mixed-mode security warnings when loading iframe content. Fixed by adding an empty src value to floatbox iframes when they are created.
- Relative links in a hierarchy of iframed pages could get lost with floatbox being unable to determine what the links are relative to. Fixed (I think) by using anchor.href instead of anchor.getAttribute('href') in the code. Browsers seem to expand the .href values into absolutes for us.
Enhancements
- Added option to hide Java applets when starting floatbox. Applets can bleed through the overlayed display the same way flash can.
- Added additional default div settings to the css to reduce the potential for conflicts with other css styles.
Housekeeping
- I grew weary of seeing all those "Floatbox.prototype" statements so I collapsed them into one prototype object.
- Fixed minor logic error in firefox browser detection.
v2.45
2008/07/07
Bug fix
- A nasty bug: Firefox2 could hard-crash on floatbox exit if there was an object element in the displayed floatbox content. Anyone displaying multi-media or other plugin content with floatbox needs v2.45.
v2.44
2008/06/28
Enhancements
- I was very disappointed to see that Firefox 3 is now the worst browser at displaying content based on javascript DOM instructions, throwing off a bunch of spurious renderings and flashes. I've added some short delays to the code which allow ff3 time to catch up and remove some of the problems. Unfortunately, it will still bleed through underlying iframes while rendering images on slower machines.
- By popular demand (one person asked for it) you can now turn off aggressive image preloading by setting preloadAll to false in the floatbox.js file.
- The focus is now removed from the clicked anchor thereby preventing that anchor from having an outline when floatbox exits. Particularly important for Opera 9.5 which leaves a very strong blue box around active anchors.
Bug fixes
- A floatbox that was very close to full screen height and had a caption that wrapped could have the animated loading image continue to display behind iframe content.
- The controls (nav, close, etc.) could flash on the screen in weird places just prior to the floatbox opening up. These are now hidden until the box is ready.
v2.43
2008/06/21
Updates
- Opera 9.5 is out now, and they changed the way screen measurements are returned. The result is that vertical positioning of floatbox is way off in Opera 9.5. In some cases it can be off the screen. (They're returning body height now in the property where they used to return screen height.) Sorry, but everyone should move up to v2.43 to support Opera visitors.
- The good news on Opera 9.5 is that their javascript engine is now much faster (it's still slower than just about everyone else though). This means the animations now run adequately (but not great). I've removed the allowOperaFades (defaulted to false) option.
Bug fixes
- Again with the Opera. The browser would crash every time a child iframe with floatbox stuff in it would get refreshed (but not if the whole page refreshes). Not no more.
- In IE6, the overlay would only cover the top inch of the screen on initial load until the floatbox was drawn, at which point the overlay would go full screen. It is now full screen right from the get go.
- For firefox2 on a mac, flash objects that were hidden at load time would not become visibility after termination until they were clicked. Now floatbox clicks them for you at the time of unhiding.
v2.42
2008/06/03
Enhancement
- HTML entities are now decoded before being assigned to the caption. This enables placing clickable anchors in the floatbox caption. Encode the following characters in your caption strings: &(&) "(") <(<) >(>) and optionally '('). If you're using php, the htmlspecialchars() function will do this for you.
- You can now have multiple items with the same href but different title or rev options on the same page. Previously, only one matching href per page would get used.
- Helper added so firefox 2 on a Mac will show flash objects after they are un-hidden. (2008/06/15)
Bug fix
- Play and pause controls could fail to display when running a slideshow for the second time. (This fix was patched into v2.41 too.)
Housekeeping
- The innerHTML assignments that update the caption and item count display are now wrapped in try/catch in case the caption string has malformed html in it.
- Unnecessary quotes removed from the defaultOptions object. (2008/06/15)
v2.41
2008/06/01
Enhancements
- Added 'enableWrap' option. When set to false this disables 'previous' navigation when on the first item of a collection, and 'next' navigation from the last item. Useful for displaying something like a sequenced instruction set where navigation wrapping doesn't really make sense. Note: Adding this option required some new images and css changes. As always, if upgrading, upgrade the whole package. Don't mix and match versions.
- Added a 'caption' option that allows setting a caption via the rev attribute instead of the title attribute, thereby separating browser tooltip behaviour from floatbox's caption. To use this, put "caption:`Some caption string`" in your rev attributes. Note the backquotes - they're required.
- Added 'auto' as the default colour theme. This uses the black theme for images and the white theme for iframe content.
- Added 'allowOperaFades' option and set the default to false. Opera is atrocious at rendering opacity fades - very slow, very jerky, very irritating. It's best to leave this set to false to spare Opera users (all 12 of them) the self-inflicted pain.
- Moved image preloading out of window.onload and into the more reliable dom-loaded code. Too many pages have other javascript that stomps on window.onload and were thereby preventing floatbox image preloading from happening.
- Backed off on the image preloading aggression a little by inserting a 200ms timer between image preloads. This helps the suspension of preloads during floatbox item changes, improves loading of floatbox control graphics on slow connections and gives the underlying page more time to load its objects.
- Controls are now moved off-screen rather than hidden when they're not being used so that their background images will preload and be ready as soon as the controls are displayed.
Bug fixes
- Cleaned up some errors in some regular expressions that didn't materially affect behaviour.
- Eliminated an IE6-only display flash when fading in images by starting the fade at 0 rather than 10%.
Housekeeping
- Overhauled the instructions making them shorter and clearer.
- Changed the regexp tests for 'showThis' and 'autoStart' checking to allow the alternate options syntax (qryString-like, css-like).
- Enhanced the parseOptions routine so that it can accept backquoted strings containing otherwise toxic characters. This is to allow the 'caption' and 'loadPageOnClose' options to be set in rev strings.
- Removed some unnecessary empty string assignments.
- Changed array, object and regexp constructors to literals.
v2.40
2008/05/26
Bug fixes
- The early loading routine could fire before the document was ready in IE in an iframed child document. Found a better alternative that now seems to correctly load in IE for both framed and flat pages.
- If an iframed child document was reloaded, groups of floatbox items could get duplicate items added to the existing list and the item count could double. (This is when only the child was refreshed, not when the top doc refreshed.) Now the tagAnchors routine checks for pre-existing duplicates before adding a new anchor to the list.
- When navigating or reloading a child iframe document, a previously captured anchor could be dereferenced but still be in the array of tagged anchors, causing code failure when a new anchor was clicked. Derefenced anchors are now removed from the floatbox array at each load.
- IE loads nested iframes in reverse order (child first) and will then mistakenly garbage collect the top floatbox object when the first-loaded child is refreshed/reloaded. The init routine is restructured so as to force loading documents in parent-first order. IMPORTANT: You now have to have floatbox.js included at each level of a multi-level nested iframe structure.
Enhancement
- Added new option to have floatbox session cookies apply to an entire site or be restricted to the active subfolder. (Previously was always subfolder based.)
Housekeeping
- Changed all the core member functions to prototypes to reduce memory leaks in IE.
- Restructured the css and images folders for the larger control graphics. These are now off in their own images/big subfolder, making them easier to delete if you never use them. I haven't seen anyone use them (by referencing floatbox_big.css) and one day I may drop them from the package.
- Reworked most references to 'self' and 'top' so that maintenance of framebox.js is easier and the intent of the code is more apparent.
v2.39
2008/05/22
Enhancements
- Added a "404 - not found" image that is displayed if the image pointed to by href can't be loaded. Previously you would just get the "loading" box forever.
- Changed right click behaviour on the upper nav panels so that the image context menu appears, allowing image saves, viewing image properties, etc. (Note: doesn't work in Opera or Firefox 3 RC1.)
- The navigation control hrefs are now updated with the previous and next urls so that the browser status bar display makes more sense. (Note: these hrefs point to the current image in Opera and Firefox 3 RC1 so that right-click "save link as..." fetches the current image (see the right-click enhancement above)).
- Initial display and resizing of the floatbox now waits until the overlay has faded in instead of happening at the same time, yielding smoother and sequential animations.
- The initial display of the 'loading' floatbox that occurs when the first item is slow to load is now delayed on a timer for a half a second to avoid floatbox size jumps on quick loading items.
- Set css over-rides for floatbox <a> element borders, backgrounds, margins and padding so that styles set elsewhere don't interfere with the navigation gadgets.
- Set visibility=visible on the floatboxed item in case other css or js is setting things to hidden.
Bug fixes
- Opera was failing to display iframe content. It would just show an empty floatbox and the hourglass unless an alert was fired or the .src property was toggled to "" and back. (Opera is almost as big a pain to code for as IE is. I'm not sure why I bother.)
Housekeeping
- Reorganized user-settable options section into catagories (general, navigation, animation, etc.).
- The spacing in between the lower panel controls and caption is now set in a variable (a property actually) near the top of the code so you can tighten it up more easily if you need to.
- Now using the more efficient + operator to convert to numbers instead of parseInt and parseFloat.
v2.38
2008/05/11
Enhancements
- Added support for launching floatbox from image map areas. See the instructions for details and the demo page for an example.
- Added 'random' to the resizeOrder option choices to allow a mixup of width first, height first, and both at once resizing.
- Changed 'overflow:auto' to 'overflow:hidden' in the css so that narrow titles (captions) with long words in them will truncate rather than display scrollbars.
Bug fix
- Background overlay did not completely fill the screen if the following conditions were met: IE6 or IE7 quirks mode, content inside an absolute positioned element, and screen was scrolled.
v2.37
2008/05/04 (revised 2008/05/09)
Enhancements
- The empty floatbox (with the animated loading gif in it) is now displayed immediately upon start. Previously people on a slow connection or having other trouble loading the first image would get just the overlay and no floatbox until the first image completed loading.
- Alternate version which constrains the floatbox display to a containing iframe or frameset child is now included in the package. Use framebox.js instead of floatbox.js to do this. See the instructions for details.
- The pause/play control background images are now preloaded so there is no apparent delay when the controls are first used.
- All timeout functions plus the callback functions for the fade and resize animation routines now use true functions instead of eval strings, making floatbox.js easier and safer to compress should you choose to do so.
Bug fix
- Setting options via cookies was broken for Opera. The cookie specs call for a limit of 20 cookies per domain. Opera enforces that limit. Each option was in a separate cookie and there were more than 20 of them. Now, only one cookie is written which contains all the options concatenated into one string.
Housekeeping
- A lot of cookie handling code was discarded and replaced with much more compact and quicker executing code.
- The scaling code that sized things down to the available screen space is now smaller and quicker.
- The string localization options are now all prefixed with "str", making them easier to exclude from being lower-cased and added to the option cookie.
v2.36
2008/04/29
Enhancement
- Since the use of 'P' and 'N' was removed from keyboard nav in v2.35, the upper nav graphics were redone so that those letters are no longer underlined. (The gif sizes changed, so floatbox.css is changed too.)
Bug fix
- Preserve case for customized localization strings.
v2.35
2008/04/23
Enhancements
- Added resize functionality. A small resize button can be shown in the top left corner of images that have been scaled down to fit the screen or that are displayed larger than the current screen size.
- Animated resizing can now be configured to resize width first and then height, or height first then width, or the default behaviour of resizing everything at the same time.
- Due to a couple of reports of arguments between floatbox.css and other style sheets on the floatboxed page, specificity of references in floatbox.css has been greatly increased. This should cut down or eliminate css conflicts.
- Image preloading is now temporarily suspended during display redraws so that browser and cpu attention can be focussed on presenting smoother transitions.
- The showing of tooltips (nav hints) can now be configured to show once, show always, or show never.
- When tooltips are set to show once, they are now on a timer to ensure the user has had sufficient time to read them before they are turned off.
- Show-once tooltips are now turned off if the user navigates with the corresponding keyboard shortcuts (because the user obviously already knows the keyboard shortcut).
- When resizing between displayed items results in scrollbars appearing or disappearing, floatbox positioning will be adjusted to better fit the new visible display area.
- Control graphics have been updated for the blue and black themes to subdue the highlighted black controls a little and to make the blue controls less blue-on-blue.
- Improved colourization of the upper navigation graphics.
- Flash and IE6 selects that were hidden on the host page when floatboxed started are now not revealed on exit until after the overlay has finished fading out.
- Documentation is improved with a more concise instructions page and the inclusion of an options page detailing floatbox's 48 (yes, 48) configuration settings.
- Navigation hints (tooltips) are turned off if modal mode is in effect (because keyboard navigation is also turned off).
- Keyboard shortcuts now consist of only left and right arrow (prev/next), spacebar (play/pause), tab (resize), and esc (exit). The additional letter-key shortcuts have been removed because they are not necessary and they complicate communication to the user about how keyboard navigation works.
Bug fixes
- For IE6, the page overlay width could be slightly shy of the visible display width under particular circumstances. An additional screen measurement has been added which eliminates this.
- For IE, iframe content was displaying frame borders when configured not to. (The frameBorder attribute is case-sensitive in IE.)
Housekeeping
- The upper navigation was previously built from nested <a> elements, with the prev and next buttons residing inside the transparent nav panels. While this worked, it was a violation of the DOM model where anchors can not contain other anchors. They have now been split into sibling elements. Doing this has made upper navigation function properly under IE8 beta 1.
- Default options are now set in an Object structure, rather than as member properties.
- Parsing of options from the different sources has been greatly streamlined and eliminates code that required relisting of all the option names.
- Keyboard handlers now call the mouse event handlers for the navigation controls rather than replicating that handler code inside the keyboard handler function.
- The image preloading routine now supports preloading a single image in addition to its previous behaviour of chaining preloads for all images. This is to enable preloading of the first image without major disruption to the main document load.
- Reading of iframe options from the rev tag now uses the generic option parsing routines rather than replicating some of the code inside the loadItem function.
- Resizing of images was moved out of the onload handler for images and into the setSize() function where it belongs.
v2.30
2008/04/12 (revised 2008/04/15)
Significant look and feel improvements - floatbox now looks the way I want it to. Also, improved support for multimedia content in iFrames.
Enhancements
- Redrew all the graphical controls. The new ones are much tidier, smaller, less obtrusive and are a better visual fit with different underlying web site designs.
- Completely reworked all the color themes. They are now less garish and quite presentable. They're also a good base from which to start your own theme customizations.
- Added support for exact sizing and no scrollbars for iframed content, enabling effective display of multimedia content with no centering or framing issues.
- Tootips (the yellow popup navigation hints) appear only once for each control. Once the user has seen them, they do not intrude for subsequent mouseovers.
- Controls in the lower panel now have mouseover highlighting. Thanks go to MECA Computer Consulting Pty Ltd. for suggesting and demo-ing this.
- More aggressive image preloading that improves responsiveness when a user clicks on an image other than the first one.
- An alternate css style sheet (floatbox_big.css) and associated graphics are included which provide bigger nav controls than the default.
- The stylesheets have been restructured and commented to make customization easier.
- Autoresizing now is done in two passes rather than one. This helps get the height correct when the lower panel changes height between content changes.
- New option "enableCookies" added and set to false by default. This is so the cookies don't override the floatbox.js options while you are setting things up. If you want to use cookie options, don't forget to set this to true.
- Changed reloadPageOnClose to loadPageOnClose which now accepts "this" to reload current page, "back" to load the referring page, or a url to navigate to a new page when floatbox closes.
- Installation and configuration instructions are now included in the download package.
- Added disableScroll option which uses fixed positioning and thereby blocks scrollbar functionality for content that fully fits the screen. (This one is against my better judgment. I don't think you should disable your visitor's browser controls.)
Bug fixes
- Floatbox could fail to initialize on some pages in IE6 and IE7 quirks mode (no doc type) due to the window.frames collection containing non-existent child frames.
- The early loading code that allows floatbox to be active before all the page images are available was seen to cause IE7 to delay the load of the entire page. The early loading code has been reworked to avoid this occasional delay.
- Fixed jerky animated resizing in firefox when displaying iframe content.
- If an animated resize was interrupted before completion by another resize due to user navigation, the final positioning could be whack.
- Caption fonts were cut-off a little bit if the host page had a small font-size assigned to the document body.
- Eliminated a vscrollbar flash that could sometimes occur when going from wide to narrow content.
- Scrollbar flashes and small floatbox size jumps could occur during resizing due to inconsistent application of border measurements.
Housekeeping
- The floatbox_ifload.html file that provided smoothish transitions between iframe content changes is no longer required. The iframe content is now simply cleared during content changes, providing the same effect with less fuss.
- The animated resizing routine has been reduced in size and complexity and is now more comprehensible.
v2.21
2008/03/31
Enhancements
- Page-specific options can be set by a javascript function added to the document head. See the instructions page for details.
- Config options can be read and written through session cookies, enabling end-user-selectable preferences.
- Much better support for content in nested iframes. Iframes can be nested arbitrarily deep and have floatbox-enabled content at any and all levels.
Housekeeping
- Serious code restructuring. Prototypes changed to member functions. Better global var handling (enabling the better iframe support).
v2.20
2008/03/29
Bug fixes
- More sizing and positioning trouble. Horizontal centering was off if the underlying page was scrolled to the right. Vertical poistioning and sizing was slightly off in some browsers if there was a horizontal scrollbar and the doc height was close to the window height. Both of these have been fixed.
- Failure to load for non-IE browsers on pages with no doctype.
Housekeeping
- Some code optimizations and tidying.
v2.19
2008/03/24
Enhancements
- Added the ability to automatically start floatbox on host page load by including "autoStart:true" in an anchor's rev attribute.
- Added the ability to reload the parent page when floatbox closes by setting this option in floatbox.js or by including "reloadPageOnClose:true" in an anchor's rev attribute.
- Text for the "Image x of y" display was moved to the string configuration area of floatbox.js to allow language or other customization of this string.
Bug fixes
- IFramed content in Firefox was being pushed off the bottom of the screen if the host page was scrolled down. This was because iFrame content is set to fixed positioning to work around the blinking form cursor problem, but I was mistakenly adding the scrollTop offset to this fixed content. The scrollTop offset is now added only to absolute positioned content.
- Browser window measurements were off for non-IE agents when scrollbars were present. This was resulting in content being off-center and wrongly autoSized.
- Spacebar usage was not correctly taken over for Opera. Pressing spacebar in Opera for play/pause would scroll down and/or jump to another page. Floatbox now blocks onkeypress events thus forcing Opera to behave.
v2.16
2008/03/02
Enhancements
- Lower navigation (prev||next) is now graphical rather than text. When it was text a user could mess up the layout by increasing the browser font-size preference. The new graphical nav controls maintain constant dimension and layout regardless of browser-side preferences.
v2.15
2008/02/20
Enhancments
- The width of the mouse-over navigation panels on top of the image is now configurable using the "upperNavWidth" option in the floatbox.js configuration section.
Bug fixes
- If an item was displayed that had info panel content, then closed, then another item with no info panel content opened IE would display the old info panel.
v2.14
2008/02/17
First public release.











