|
Mochten sommige websites af en toe traag laden, dan kun je je bezoekers een klein schermpje laten zien waarin wordt aangegeven dat de pagina geladen wordt. Ik heb dit al voor een paar klanten toegepast alleen al om het feit dat ze het er leuk uit vinden zien. Dat is ook wel zo eigenlijk
Als voorbeeld gebruik ik de Page Loader die op www.welldotcom.nl staat.
De pagina wordt geladen...
Open de index.php van je template en voeg onderstaande code in net voor de </head> tag:
<!-- Begin function hideLoading() { document.getElementById('pageIsLoading').style.display = 'none'; // DOM3 (IE5, NS6) only } // End -->
%3C%21--%20Begin%0D%0Afunction%20hideLoading%28%29%20%7B%0D%0Adocument.getElementById%28%27pageIsLoading%27%29.style.display%20%3D%20%27none%27%3B%20%2F%2F%20DOM3%20%28IE5%2C%20NS6%29%20only%0D%0A%7D%0D%0A%2F%2F%20%20End%20--%3E
Direct na de <body> tag moet je het volgende toevoegen:
-
<div id="pageIsLoading" style="position: absolute; display: block; padding-left: 44px; padding-right: 12px; width: auto; height: 46px; line-height: 46px; border: 1px solid #ccc; color: #005A6F; font-weight: bold; background-color: #fff; background-image: url(<?php echo $GLOBALS['mosConfig_live_site']; ?>/templates/<?php echo $cur_template; ?>/images/imgLoading.gif); background-position: 6px center; background-repeat: no-repeat;">
<script type="text/javascript">
var window_width;
var window_height;
if( typeof( window.innerWidth ) == 'number' ) {
window_width = window.innerWidth;
window_height = window.innerHeight;
} else if( document.documentElement &&
( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
window_width = document.documentElement.clientWidth;
window_height = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
window_width = document.body.clientWidth;
window_height = document.body.clientHeight;
}
var left = Math.round((window_width - 200) / 2);
var top = Math.round(((window_height - 46) / 3) + 46);
document.getElementById('pageIsLoading').style.left = left+'px';
document.getElementById('pageIsLoading').style.top = top+'px';
</script>
De pagina wordt geladen...
</div>
%0D%0A%3Cdiv%20id%3D%22pageIsLoading%22%20style%3D%22position%3A%20absolute%3B%20display%3A%20block%3B%20padding-left%3A%2044px%3B%20padding-right%3A%2012px%3B%20width%3A%20auto%3B%20height%3A%2046px%3B%20line-height%3A%2046px%3B%20border%3A%201px%20solid%20%23ccc%3B%20color%3A%20%23005A6F%3B%20font-weight%3A%20bold%3B%20background-color%3A%20%23fff%3B%20background-image%3A%20url%28%3C%3Fphp%20echo%20%24GLOBALS%5B%27mosConfig_live_site%27%5D%3B%20%3F%3E%2Ftemplates%2F%3C%3Fphp%20echo%20%24cur_template%3B%20%3F%3E%2Fimages%2FimgLoading.gif%29%3B%20background-position%3A%206px%20center%3B%20background-repeat%3A%20no-repeat%3B%22%3E%0D%0A%26nbsp%3B%20%26nbsp%3B%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0D%0A%26nbsp%3B%20%26nbsp%3Bvar%20window_width%3B%0D%0A%26nbsp%3B%20%26nbsp%3Bvar%20window_height%3B%0D%0A%26nbsp%3B%20%26nbsp%3Bif%28%20typeof%28%20window.innerWidth%20%29%20%3D%3D%20%27number%27%20%29%20%7B%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20window_width%20%3D%20window.innerWidth%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20window_height%20%3D%20window.innerHeight%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%7D%20else%20if%28%20document.documentElement%20%26%26%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20%20%20%28%20document.documentElement.clientWidth%20%7C%7C%20document.documentElement.clientHeight%20%29%20%29%20%7B%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20window_width%20%3D%20document.documentElement.clientWidth%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20window_height%20%3D%20document.documentElement.clientHeight%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%7D%20else%20if%28%20document.body%20%26%26%20%28%20document.body.clientWidth%20%7C%7C%20document.body.clientHeight%20%29%20%29%20%7B%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20window_width%20%3D%20document.body.clientWidth%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%20%20window_height%20%3D%20document.body.clientHeight%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%7D%0D%0A%26nbsp%3B%20%26nbsp%3Bvar%20left%20%3D%20Math.round%28%28window_width%20-%20200%29%20%2F%202%29%3B%0D%0A%26nbsp%3B%20%26nbsp%3Bvar%20top%20%3D%20Math.round%28%28%28window_height%20-%2046%29%20%2F%203%29%20%2B%2046%29%3B%0D%0A%26nbsp%3B%20%26nbsp%3Bdocument.getElementById%28%27pageIsLoading%27%29.style.left%20%3D%20left%2B%27px%27%3B%0D%0A%26nbsp%3B%20%26nbsp%3Bdocument.getElementById%28%27pageIsLoading%27%29.style.top%20%3D%20top%2B%27px%27%3B%0D%0A%26nbsp%3B%20%26nbsp%3B%3C%2Fscript%3E%0D%0A%26nbsp%3B%20%26nbsp%3BDe%20pagina%20wordt%20geladen...%0D%0A%3C%2Fdiv%3E%0D%0A
Als laatst moet je voor de </body> tag nog de volgende code toevoegen:
if (window.addEventListener) { window.addEventListener('load', hideLoading, false); } else if (window.attachEvent) { var r = window.attachEvent("onload", hideLoading); } else { hideLoading(); }
if%20%28window.addEventListener%29%20%7B%0D%0Awindow.addEventListener%28%27load%27%2C%20hideLoading%2C%20false%29%3B%0D%0A%7D%20else%20if%20%28window.attachEvent%29%20%7B%0D%0Avar%20r%20%3D%20window.attachEvent%28%22onload%22%2C%20hideLoading%29%3B%0D%0A%7D%20else%20%7B%0D%0AhideLoading%28%29%3B%0D%0A%7D
Natuurlijk moet je wel even de afbeelding op je eigen server of website plaatsen en de afbeelding eventueel aanpassen naar eigen smaak.
|
Ik heb bovenstaand geinstalleerd omdat het mij ook wel prettig lijkt alleen blijft nu bij constant de tekst met afbeelding "Pagina word geladen" staan. Na het laden van de pagina blijft dit dus gewoon doorgaan, kun je me aangeen waar hier het probleem ligt ???