🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #189

Re: wczytywanie grafiki

#189
From: sulti
Date: Wed, 09 Jan 2002 21:57
86 lines
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-mail
References: <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