Would it be possible to display only a message e.g. "Page Loading..." until the page has fully loaded, then display the fully loaded page?

I don't know if this can be done with Javascript, css or html.

Would it also be possible to show what percent of the page has loaded e.g.

Loading, Please Wait...
75% Loaded


AJAX will do this, but it's probably overkill for most situations. How long is it taking the page to load?

A quick word of advice: If you need a "loading ..." notice while a webpage loads, it's taking too long, and the surfer will just leave without giving it a second thought. Here's an idea.

Create a background .gif image for the webpage that has your logo or says loading or some sort. Then, put all of the page content in a 100% wide and tall table that occupies the full browser window and has a white background. Web browsers don't display the content of tables until everything within them has fully finished loading. Therefore, it will give the impression of just seeing the background gif and suddenly all of the page contents appear at once.

Right... anything you COULD do would necessarily make your overall load time slower. Get a faster host.

On some e-Commerce systems I've designed, where there is a significant task (such as generating a print-quality PDF proof), I pre-load a "please wait" message or GIF, with visibility set to hidden. When the page submits, the submit handler/validation routine first toggles the visiblity of this, then submits.