|
| Skift af billeder (reklammerbanner) Fra : Allan Schuster Bach |
Dato : 22-03-03 13:54 |
|
Jeg har lavet nedenstående lille side, for at teste en diskution jeg har
haft. Og til min store overraskelse så tabte jeg, men jeg ved ikke hvorfor.
Ideen var at lave et lille script, som skifter et billed ud efter et antal
sekunder.
Min påstand er så (og som åbenbart ikke holder). Når browseren henter siden
ned, vil billed stars0.gif blive hente med, idet at denne er placeret i en
IMG tag. I scriptet er der navngivet et Array, som indeholder navnet på 6
forskellige *.gif filer. Når scriptet køre, vil den ikke kunne finde de
andre *.gif filer, idet at de jo ikke er blevet hente, men udelukkende kun
ligger som henvisninger.
Men til min store overraskelse, så bliver billedt sgu skiftet ud, men
hvorfor??? Og ja, jeg har slette min internet tempfiles. Jeg har også prøvet
på forskellige andre maskiner og det virker stadig??
Kan ses på http://212.242.63.213/wsptest/banner.htm
Allan Bach
Som venter på en forklaring på, hvor denne kan lade sig gøre
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Banner Test</title>
<script language="javascript">
var reklameBilleder = new Array
("Stars0.gif","Stars1.gif","Stars2.gif","Stars3.gif","Stars4.gif","Stars5.gi
f");
var denneReklame = 0;
var antalBilleder= 6;
function roter(){
if (document.images){
denneReklame ++;
if (denneReklame == antalBilleder){
denneReklame = 0;
}
document.reklameBanner.src = reklameBilleder[denneReklame];
window.alert ("skifter");
setTimeout("roter()",3000);
}
}
</script>
</head>
<body onload="roter()">
<img src="Stars0.gif" width="25" height="25" name="reklameBanner">
</body>
</html>
| |
tlh (22-03-2003)
| Kommentar Fra : tlh |
Dato : 22-03-03 20:14 |
|
"Allan Schuster Bach" <newskonto@schuster.dk> skrev i en meddelelse
news:b5hmdc$11ff$1@news.cybercity.dk...
> Jeg har lavet nedenstående lille side, for at teste en diskution jeg har
> haft. Og til min store overraskelse så tabte jeg, men jeg ved ikke
hvorfor.
> Ideen var at lave et lille script, som skifter et billed ud efter et antal
> sekunder.
>
> Min påstand er så (og som åbenbart ikke holder). Når browseren henter
siden
> ned, vil billed stars0.gif blive hente med, idet at denne er placeret i en
> IMG tag. I scriptet er der navngivet et Array, som indeholder navnet på 6
> forskellige *.gif filer. Når scriptet køre, vil den ikke kunne finde de
> andre *.gif filer, idet at de jo ikke er blevet hente, men udelukkende kun
> ligger som henvisninger.
>
> Men til min store overraskelse, så bliver billedt sgu skiftet ud, men
> hvorfor??? Og ja, jeg har slette min internet tempfiles. Jeg har også
prøvet
> på forskellige andre maskiner og det virker stadig??
Den henter vel bare de andre billeder når den skal bruge den.
| |
Allan Schuster Bach (22-03-2003)
| Kommentar Fra : Allan Schuster Bach |
Dato : 22-03-03 21:59 |
|
> Den henter vel bare de andre billeder når den skal bruge den.
Henter den hvordan?? Siden bliver jo ikke refresh på nogen måde. Det er jo
"bare" en henvisning der bliver byttet ud, via JavaScript. Så det kan ikke
være forklaringen.
Allan Bach
| |
Jens Peter Karlsen (22-03-2003)
| Kommentar Fra : Jens Peter Karlsen |
Dato : 22-03-03 23:47 |
|
Det er ikke nødvendigt at refreshe siden kun billedet og det sker
automatisk med scriptet.
Jeg kan da godt kommentere det lidt så det bliver nemmere at forstå:
var reklameBilleder = new Array
("Stars0.gif","Stars1.gif","Stars2.gif","Stars3.gif","Stars4.gif","Stars5.gif");
JPK: Her oprettes et array med navne på de billeder der skal vises.
var denneReklame = 0;
var antalBilleder= 6;
JPK: Først en tæller der initialiseres med 0 og antalBilleder giver
sig selv.
function roter(){
if (document.images){
JPK: Her spørges om document.images forstås.
denneReklame ++;
JPK: Tælleren tælles en op.
if (denneReklame == antalBilleder){
denneReklame = 0;
JPK: Hvis vi har set det sidste billede så nulstil tælleren.
}
document.reklameBanner.src = reklameBilleder[denneReklame];
JPK: src for img tag'en med navnet reklameBanner sættes til det
billede der nu peges på af tælleren.
window.alert ("skifter");
En simpel Alert der fortæller at billedet skifter. (skal fjernes inden
ibrugtagning)
setTimeout("roter()",3000);
JPK: vent 3000 millisekunder inden billedet skiftes igen. (bør sættes
op 3 sekunder er ikke lang tid at vise billedet)
Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.
On Sat, 22 Mar 2003 21:59:01 +0100, "Allan Schuster Bach"
<newskonto@schuster.dk> wrote:
>Henter den hvordan?? Siden bliver jo ikke refresh på nogen måde. Det er jo
>"bare" en henvisning der bliver byttet ud, via JavaScript. Så det kan ikke
>være forklaringen.
| |
Allan Schuster Bach (23-03-2003)
| Kommentar Fra : Allan Schuster Bach |
Dato : 23-03-03 10:14 |
|
"Jens Peter Karlsen" <jpkarlsen@mvps.org> skrev i en meddelelse
news:hlop7vsnd3mvkp9hhfenovp9tn0s6pusiu@4ax.com...
> Det er ikke nødvendigt at refreshe siden kun billedet og det sker
> automatisk med scriptet.
JavaScriptet forstå jeg udemærket. Det eneste jeg ikke forstå er. Hvornår
henter browseren de andre billeder. For hvis jeg har forstået arkitekturen
korrekt, så er det kun det billed der er i IMG der bliver hentet, idet at
det jo stå i HTML'en. De andre "billeder" er jo kun tekst strenge, som her
"henvisninger" til andre billeder.
Så spørgsmålet må være dette. Hvornår bliver de andre billeder hentet af
browseren??
Allan Bach
| |
tlh (23-03-2003)
| Kommentar Fra : tlh |
Dato : 23-03-03 10:16 |
|
"Allan Schuster Bach" <newskonto@schuster.dk> skrev i en meddelelse
news:b5jtsg$v96$1@news.cybercity.dk...
>
> "Jens Peter Karlsen" <jpkarlsen@mvps.org> skrev i en meddelelse
> news:hlop7vsnd3mvkp9hhfenovp9tn0s6pusiu@4ax.com...
> > Det er ikke nødvendigt at refreshe siden kun billedet og det sker
> > automatisk med scriptet.
>
> JavaScriptet forstå jeg udemærket. Det eneste jeg ikke forstå er. Hvornår
> henter browseren de andre billeder. For hvis jeg har forstået arkitekturen
> korrekt, så er det kun det billed der er i IMG der bliver hentet, idet at
> det jo stå i HTML'en. De andre "billeder" er jo kun tekst strenge, som her
> "henvisninger" til andre billeder.
>
> Så spørgsmålet må være dette. Hvornår bliver de andre billeder hentet af
> browseren??
>
Når img-taggets src bliver ændret.
| |
tlh (23-03-2003)
| Kommentar Fra : tlh |
Dato : 23-03-03 10:14 |
|
"Allan Schuster Bach" <newskonto@schuster.dk> skrev i en meddelelse
news:b5ij6i$2hv9$1@news.cybercity.dk...
> > Den henter vel bare de andre billeder når den skal bruge den.
>
> Henter den hvordan?? Siden bliver jo ikke refresh på nogen måde. Det er jo
> "bare" en henvisning der bliver byttet ud, via JavaScript. Så det kan ikke
> være forklaringen.
Jo, den downloader billedet når den får brug for det. Jeg har lige prøvet at
slette min midlertidige filer, og så stoppede jeg alt internet trafik, vha
min firewall. Da den skiftede billede kom det ikke et nyt billede, men blot
denne kasse, med et rødt kryds i, der betyder at billede ikke kunne
vises/hentes. Du kan sætte den til at hente alle billeder, fra star, på
denne måde:
star1=new Image(); knap1.src="Stars1.gif";
star2=new Image(); knap2.src="Stars2.gif";
og så efter følgende refere til dem således:
document.reklameBanner.src = star1.src;
dette er smart, da du så henter alle billeder, fra start, så man ikke skal
vente på de enkelte billeder, under afspillingen.
| |
Allan Schuster Bach (23-03-2003)
| Kommentar Fra : Allan Schuster Bach |
Dato : 23-03-03 11:01 |
|
> Jo, den downloader billedet når den får brug for det. Jeg har lige prøvet
at
> slette min midlertidige filer, og så stoppede jeg alt internet trafik, vha
> min firewall. Da den skiftede billede kom det ikke et nyt billede, men
blot
> denne kasse, med et rødt kryds i, der betyder at billede ikke kunne
> vises/hentes. Du kan sætte den til at hente alle billeder, fra star, på
> denne måde:
Det havde jeg også fundet frem til. Men jeg forstå stadig ikke hvordan. For
scriptet fremsender jo ikke en GET kommando til serveren, eller retter den
gør den. Jeg har bare svært ved at se, at ved at skifte en reference ud til
den anden (på en side, der allerede er loadet af browser), kan skabe en GET
kommando, som så henter billed.
Allan Bach
| |
tlh (23-03-2003)
| Kommentar Fra : tlh |
Dato : 23-03-03 11:21 |
|
Er det ikke lidt lige som når man ændrer window.location.href, så reloader
den jo også det, altså, den reloader et element, når man har ændret dets
href eller scr.
| |
Jens Peter Karlsen (23-03-2003)
| Kommentar Fra : Jens Peter Karlsen |
Dato : 23-03-03 17:50 |
|
Nej, det lader den browseren om at gøre.
Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.
On Sun, 23 Mar 2003 11:00:55 +0100, "Allan Schuster Bach"
<newskonto@schuster.dk> wrote:
>Det havde jeg også fundet frem til. Men jeg forstå stadig ikke hvordan. For
>scriptet fremsender jo ikke en GET kommando til serveren, eller retter den
| |
Martin Mouritzen (23-03-2003)
| Kommentar Fra : Martin Mouritzen |
Dato : 23-03-03 14:35 |
|
On Sun, 23 Mar 2003 10:14:08 +0100, "tlh" <tlh@softhome.net> wrote:
>dette er smart, da du så henter alle billeder, fra start, så man ikke skal
>vente på de enkelte billeder, under afspillingen.
Men vel næppe ny viden.
Det kan derudover også gøres med andet end billeder.
Mit website http://www.urgent.dk fungerer på den måde at alt først
bliver hentet når der er "brug for det", og siden er lavet 99% i
JavaScript
--
Mangler du et godt crossbrowser JavaScript træ?
Tag et kig på: http://nanotree.sourceforge.net
| |
|
|