Это должно быть сделано, но вы обязаны защищать клиентов от самих себя - ведь вы профессионал ...
<head>
<script type="text/javascript">
//<![CDATA[
with (document.documentElement.style) {
visibility = 'hidden';
overflow = 'hidden';
window.onload = function() {
visibility = '';
overflow = '';
};
}
//]]>
</script>
</head>
примечание: использование display = 'none'
вместо этого не работает в моей (несколько старой) Opera 10.10, так как onload
сработает немедленно ...
Кроме того, это приведет к задержке отображения страницы до тех пор, пока все внешние ресурсы не будут загружены. Если вы хотите подождать только определенные изображения, вам понадобится более сложный скрипт ( непроверенный ):
<head>
<script type="text/javascript">
//<![CDATA[
document.documentElement.style.display = 'none';
//]]>
</script>
</head>
<body>
<img stc="…" width="…" height="…" alt="…" class="preload">
<!-- page contents… -->
<script type="text/javascript">
//<![CDATA[
(function() {
var remaining = 0;
function listener() {
if(!--remaining)
document.documentElement.style.display = '';
}
for(var i = 0; i < document.images.length; ++i) {
var img = document.images[i];
if(/(^|\s)preload(\s|$)/.test(img.className) && !img.complete) {
++remaining;
img.onload = listener;
img.onerror = listener;
}
}
})();
//]]>
</script>
</body>