/ 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
Fejl i script eller i browser?
Fra : Dennis Munding


Dato : 13-02-07 10:10

Hej NG!

Jeg vil godt starte med at understrege, at jeg ikke ved ret meget om
javascript!


Jeg har hentet et færdigt script til at lave et slideshow (kan ikke huske
hvor):

// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 5000;
// Duration of crossfade (seconds)
var crossFadeDuration = 30;
// Specify the image files
var Pic = new Array();
// to add more images, just continue
// the pattern, adding to the array below

Pic[0] = '/img/img1.gif';
Pic[1] = '/img/img2.gif';
Pic[2] = '/img/img3.gif';
Pic[3] = '/img/img4.gif';
Pic[4] = '/img/img5.gif';

// do not edit anything below this line
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad[i] = new Image();
preLoad[i].src = Pic[i];
}
function runSlideShow() {
if (document.all) {
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)";
document.images.SlideShow.filters.blendTrans.Apply();
}
document.images.SlideShow.src = preLoad[j].src;
if (document.all) {
document.images.SlideShow.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}


Problemet er, at jeg får en fejlmelding i Opera9.02, som lyder:

Event thread: load
Error:
name: TypeError
message: Statement on line 30: Could not convert undefined or null to object
Backtrace:
Line 30 of linked script http://fry.munding-webdesign.dk/scripts/slide1.js
document.images.SlideShow.filters.blendTrans.Apply();
Line 1 of script
runSlideShow();
At unknown location
[statement source code not available]


Der er et kald til scriptet i <head> og det startes i body-tagget med
onload-funktionen.

Scriptet fungerer upåklageligt i IE7 og i FF1.5.0.9 - dog ser man ikke
overgangseffekten i FF...??

Er der nogen her, som kan fortælle mig, om der er deciderede fejl i scriptet
eller om det er et opsætningsproblem i browseren?

Siden, som scriptet kan ses på er:
http://fry.munding-webdesign.dk/ - Sort boks med hvid tekst.

På forhånd mange tak for alle svar!


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



 
 
Jens Peter Karlsen [~ (13-02-2007)
Kommentar
Fra : Jens Peter Karlsen [~


Dato : 13-02-07 10:37

Hvis ingen andre svarer kan jeg finde scriptet frem når jeg kommer
hjem i aften så kan jeg bedre se om der er nogen fejl. Jeg har selv
brugt dette script med nogle udvidelser jeg selv skrev.

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.

On Tue, 13 Feb 2007 10:09:45 +0100, "Dennis Munding" <mail@invalid.dk>
wrote:

>Jeg har hentet et færdigt script til at lave et slideshow (kan ikke huske
>hvor):
>
>// Set slideShowSpeed (milliseconds)
>var slideShowSpeed = 5000;

Dennis Munding (13-02-2007)
Kommentar
Fra : Dennis Munding


Dato : 13-02-07 10:40

Hej Jens Peter!
"Jens Peter Karlsen [FP-MVP]" <jpkarlsen@mvps.org> skrev i en meddelelse
news:kb13t29or929nn18jnenundjqj13gnudoi@4ax.com...
> Hvis ingen andre svarer kan jeg finde scriptet frem når jeg kommer
> hjem i aften så kan jeg bedre se om der er nogen fejl. Jeg har selv
> brugt dette script med nogle udvidelser jeg selv skrev.

Jeg venter i spænding....


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Thomas Fagerholt (13-02-2007)
Kommentar
Fra : Thomas Fagerholt


Dato : 13-02-07 12:24

"Dennis Munding" <mail@invalid.dk> wrote in message
news:<zffAh.5$Mf6.4@news.get2net.dk>...

> function runSlideShow() {
> if (document.all) {
> document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)";
> document.images.SlideShow.filters.blendTrans.Apply();
> }
> document.images.SlideShow.src = preLoad[j].src;
> if (document.all) {
> document.images.SlideShow.filters.blendTrans.Play();
> }
> j = j + 1;
> if (j > (p - 1)) j = 0;
> t = setTimeout('runSlideShow()', slideShowSpeed);
> }
>
>
> Problemet er, at jeg får en fejlmelding i Opera9.02, som lyder:
>

Hej Dennis
Fejlen skyldes at der testes forkert for browser version.
Normalt bruger man document.all til at teste for Internet Explorer, men
Opera kommer med i samme omgang.

Du skal ændre
if (document.all) {
til
if (document.images.filter) {
begge steder. Testet i IE6.0, FF2.0 og O9.1

Mvh
Thomas Fagerholt
www.ProfilEdit.dk
CMS for alle



Jens Gyldenkærne Cla~ (13-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-02-07 12:39

Thomas Fagerholt skrev:

> Fejlen skyldes at der testes forkert for browser version.

Ja.

> Normalt bruger man document.all til at teste for Internet
> Explorer,

Normalt bør man løbe skrigende bort når et script indledes med et
tjek på document.all.

Man bør ikke tjekke på document.all fordi:

- det er mange år siden at document.all-support var ensbetydende
med at browseren er IE

- man generelt bør holde sig fra at detektere browseren og i stedet
detektere features

- document.all er en MS-specifik udvidelse der ikke findes i
javascript-standarden, men i nogen grad er implementeret i andre
browsere.

Se evt. <http://www.javascripttoolbox.com/bestpractices/>.



> if (document.images.filter) {
> begge steder. Testet i IE6.0, FF2.0 og O9.1

Filterfunktionen findes kun til IE, så scriptet kommer næppe til at
virke i andre browsere.
Metoden med at tjekke document.images.filter er dog god nok.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Dennis Munding (13-02-2007)
Kommentar
Fra : Dennis Munding


Dato : 13-02-07 14:49

Hej Jens!
"Jens Gyldenkærne Clausen" skrev i en meddelelse...

[SNIP]
> Normalt bør man løbe skrigende bort når et script indledes med et
> tjek på document.all.
>
> Man bør ikke tjekke på document.all fordi:
>
> - det er mange år siden at document.all-support var ensbetydende
> med at browseren er IE
>
> - man generelt bør holde sig fra at detektere browseren og i stedet
> detektere features
>
> - document.all er en MS-specifik udvidelse der ikke findes i
> javascript-standarden, men i nogen grad er implementeret i andre
> browsere.
>
> Se evt. <http://www.javascripttoolbox.com/bestpractices/>.

Som nævnt tidligere, så har jeg ingen forstand på javascript, men det kunne
være, at det ville være en god idé, at sætte sig noget mere ind i det -
synes jeg har set mange af "Do not use..." typer kode i de scripts, som jeg
har liggende.... :-/

Og jeg hader specifik kodning - det skal kunne bruges af *alle*, ellers er
det intet værd!

> Filterfunktionen findes kun til IE, så scriptet kommer næppe til at
> virke i andre browsere.
> Metoden med at tjekke document.images.filter er dog god nok.

Nu virker det også i Opera, men fade-funktionen er forsvundet fra IE - det
gør dog ikke så meget, da der så er ens visning i IE, FF og Opera.

Men hvis der findes en metode til at lave den funktion (fade), så den virker
i alle browsere, så hører jeg da meget gerne om det!


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Dennis Munding (13-02-2007)
Kommentar
Fra : Dennis Munding


Dato : 13-02-07 14:40

Hej Thomas!
"Thomas Fagerholt" skrev i en meddelelse...
> Hej Dennis
> Fejlen skyldes at der testes forkert for browser version.
> Normalt bruger man document.all til at teste for Internet Explorer, men
> Opera kommer med i samme omgang.
>
> Du skal ændre
> if (document.all) {
> til
> if (document.images.filter) {
> begge steder. Testet i IE6.0, FF2.0 og O9.1

Mange tak for hjælpen!
Det virker også i IE7 - dog er fade-funktionen (eller hvad den nu hedder)
forsvundet, men det gør ikke så meget, da visningen nu er ens i alle 3
browsere.


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Jens Gyldenkærne Cla~ (13-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-02-07 14:57

Dennis Munding skrev:

> Nu virker det også i Opera, men fade-funktionen er forsvundet
> fra IE - det gør dog ikke så meget, da der så er ens visning i
> IE, FF og Opera.

Så har scriptet vel slet ingen effekt.


> Men hvis der findes en metode til at lave den funktion (fade),
> så den virker i alle browsere,

Det tror jeg ikke.

Du kan formentlig få det på plads i IE hvis du ændrer testen lidt.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Dennis Munding (13-02-2007)
Kommentar
Fra : Dennis Munding


Dato : 13-02-07 15:30

Hej Jens!
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns98D6980052336jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Så har scriptet vel slet ingen effekt.

Jo da! Den skifter fint billeder - det gjorde den ikke før i Opera - der
virkede det slet ikke, så der er da sket en forbedring...

> Det tror jeg ikke.
>
> Du kan formentlig få det på plads i IE hvis du ændrer testen lidt.

Ok! Det er enten alle eller ingen!


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste