This module provides a block displaying a page loading progress indicator as percentage (for theming) or as a default Drupal Progress bar.
It's actually a jQuery plug-in that counts the number of img:visible tags on the page and attaches and onLoad event to them, which updates the counter once that image gets loaded. This gives a certain control over what you need your content to do while you load image intensive pages.
- Set the minimum number of images to have on the page before displaying progress.
- Use Drupal.progressBar or not, in which case a simple div > span with the percentage will be inserted in the block and the span element will get updated with the progress in percentage.
- Enable or disable animations (content fading in when the page finished loading)
- Set the element in which we check for the images (img tags) to load (#wrapper by default)
- Set the container for your content which will get hidden then faded-in when the page has finished loading if animations are turned on (#container by default)
- Set the CSS Class applied to both elements specified above while the page is loading ('loading' by default)
- JS callbacks for the different loading stages (25%, 50%, 75% and 100% [backed by $(window).load when img tags don't fire their onLoad events])
You can set callbacks by putting your functions' name in the corresponding callback textfields from the settings page. It uses eval so yes, it's ugly for that, but it's also only used if you need it. It might not make it into future versions if it's clearly not being used.