/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
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

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste