Article View: pl.comp.lang.javascript
Article #189Re: wczytywanie grafiki
From: sulti
Date: Wed, 09 Jan 2002 21:57
Date: Wed, 09 Jan 2002 21:57
86 lines
3402 bytes
3402 bytes
Użytkownik <pajdzioch@poczta.onet.pl> napisał w wiadomości
news:1778.0000165d.3c324780@newsgate.onet.pl...
> Witam
> Czy moglby mi ktos podac skrypt JS wczytujace grafike przed zaladowaniem
strony?
> Za kazda pomoc z gory dzieki
> Pozdrawiam
> Pajdzioch
>
czesc!
oto skrypt, a w zasadzie czesc kodu strony, ktorej uzywalem
do preloadowania grafik na stronie, do momentu kiedy sie
rozmyslilem i zrezygnowalem z grafiki ;-))) ale nevermind....
w ramach <head> wklejasz:
=============================================
<script language="JavaScript" type="text/javascript">
<!--
var Imgi = new Array(); // Tablica obrazków
var Bledy = 0; // Liczba błędów
var preloadTimer; // Timer używany dalej
// Adres pod który przejść po zakończeniu ładowania.
var przejdzDoUrl = 'detekcja.htm';
// Pliki, które mają zostać załadowane:
preload('gfx/back.gif');
preload('gfx/book.gif');
preload('gfx/download.gif');
//i tak dalej...
preloadStart();
// rozpoczyna ściąganie obrazka
function preload(url) {
if (document.images) {
var i = Imgi.length;
Imgi[i] = new Image();
Imgi[i].onerror = preloadOnError;
Imgi[i].src = url;
}
}
// wywoływana, jeśli wystąpił jakiś błąd - zlicza błędy
function preloadOnError() {
Bledy++;
}
// rozpoczyna ściąganie plików
function preloadStart() {
if (document.images) {
preloadCheck();
}
}
// sprawdza, czy ładowanie się już zakończyło
function preloadCheck() {
var i=0;
var l=Imgi.length;
var gotowe=0;
// Trochę zagęszczonego kodu:
for (i=0;i<l;i++)
if (Imgi[i].complete) gotowe++;
gotowe+=Bledy; //przyjmijmy, że obrazek przy którym
//wystąpił błąd jest gotowy
if (gotowe>=l) // to już wszystkie
self.location.replace(przejdzDoUrl);
else // któryś nie był ukończony
preloadTimer = setTimeout('preloadCheck()',100);
}
//--></script>
=============================================
a teraz w ramach <body> wklejasz: [tabela wyrownujaca w pionie i poziomie]
=============================================
<table border=0 align=center width="100%" height="100%">
<tr><td valign=middle align=center>Trwa ładowanie, proszę
czekać...</td></tr>
</table>
=============================================
oczywiscie ta strona powinna byc umieszczona jako "index.html" na
serverze...
pozdroofka
sulti
Technical Details
Message-ID:
<a1igrq$m5q$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.onet.pl!not-for-mailReferences:
<1778.0000165d.3c324780@newsgate.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.onet.pl!not-for-mail From: "sulti" <sulti@poczta.onet.pl> Newsgroups: pl.comp.lang.javascript Subject: Re: wczytywanie grafiki Date: Wed, 9 Jan 2002 22:57:13 +0100 Organization: news.onet.pl Lines: 88 Sender: sulti@poczta.onet.pl@pl50.bielsko.cvx.ppp.tpnet.pl Message-ID: <a1igrq$m5q$1@news.onet.pl> References: <1778.0000165d.3c324780@newsgate.onet.pl> NNTP-Posting-Host: pl50.bielsko.cvx.ppp.tpnet.pl X-Trace: news.onet.pl 1010615994 22714 217.99.92.50 (9 Jan 2002 22:39:54 GMT) X-Complaints-To: abuse@onet.pl NNTP-Posting-Date: 9 Jan 2002 22:39:54 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit