webForumDet fria alternativet
Logga in / Bli medlem

Javascropt i Opera visavi IE

JavaScript

12 svar · 552 visningar · startad av urban_hahne

Medlem sedan maj 2003153 inlägg
Trådstart#1

Hej. jag har gjort en site som jag hela tiden testat i IE. Nu testade jag den i opera och det visade sig att en del javascript inte funkar på samma sätt eller inte alls. Finns det någon förteckning över skillnaderna i IE resp OPERA så man lätt kan kolla hur man fixar det hela.
mhh/urban

Medlem sedan aug. 20039 340 inlägg
#2

Opera har generellt bra stöd för IE's funktioner. Vad är det som du har prövat som inte har funkat?
Att hålla sig till standardkod räcker långt för att göra din sida till en trevligare upplevelse för användare av alla webbläsare.

Medlem sedan maj 2003153 inlägg
#3

kolla bilden på mitten på sidan som växlar tex. den syns inte alls i opera.
http://www.10kronor.se/wwwroot/allstuff/stuffsidan.asp

Medlem sedan dec. 20042 245 inlägg
#4

javascriptkonsolen i Opera:

Allt mellan himmel & internet
http://www.10kronor.se/wwwroot/Allstuff/stuffForm.asp
Event thread: load
Error:
name: TypeError
message: Statement on line 44: Could not convert undefined or null to object
Backtrace:
Line 44 of inline#2 script in http://www.10kronor.se/wwwroot/Allstuff/stuffForm.asp
document.images.SlideShow.filters.blendTrans.Apply();
Line 1 of script
runSlideShow();
At unknown location
[statement source code not available]

Medlem sedan maj 2003153 inlägg
#5

Ja tack, jag har förstått att det är error, men hur ska det vara för och inte bli error?
Eftesom det funkar i IE så måste det ju vara någon typ av skillnad i opera jämfört med IE.

Medlem sedan dec. 20042 245 inlägg
#6

Jag kan vara ute och cykla, men jag skulle tro att filters.blendTrans är IE-specifikt, och borde alltså bara fungera i IE...

Medlem sedan aug. 20039 340 inlägg
#7

Object detection är en bra metod. Byt ut raden mot:

if (document.images.SlideShow.filters)
document.images.SlideShow.filters.blendTrans.Apply();
Medlem sedan maj 2003153 inlägg
#8

Ok jag ändrade raden som föreslagits. Nästa felmed:
Allt mellan himmel & internet
http://www.10kronor.se/wwwroot/Allstuff/stuffForm.asp
Event thread: load
Error:
name: TypeError
message: Statement on line 50: Could not convert undefined or null to object
Backtrace:
Line 50 of inline#2 script in http://www.10kronor.se/wwwroot/Allstuff/stuffForm.asp
document.images.SlideShow.filters.blendTrans.Play();
Line 1 of script
runSlideShow();
At unknown location
[statement source code not available]

Medlem sedan maj 2003153 inlägg
#9

Tråkigt att det inte går att få läsarna kompatibla med varandra men det borde åtminstonde gå att få fram vad det är som skiljer och hur man undviker felen.

Medlem sedan dec. 20025 483 inlägg
#10

Du får testa samtliga egenskaper du vill använda. Exempel:

if (document.images
        && document.images.SlideShow
        && document.images.SlideShow.filters
        && document.images.SlideShow.filters.blendTrans
        && document.images.SlideShow.filters.blendTrans.Play){
    document.images.SlideShow.filters.blendTrans.Play();
}
Medlem sedan maj 2003153 inlägg
#11

Jo då får jag inga felmeddelanden men heller ingen bild. Det är nog bäst att skippa operaanvändarna. Det är tydligen IE som gäller.

Medlem sedan juli 20041 183 inlägg
#12

Jag har alltid sagt att det finns kod för IE och det finns kod för de andra webbläsarna...

Det borde som sagt finnas ett sätt som är mer standardiserat som fungerar i fler webbläsare. Microsoft försöker ju ofta skriva egen kod och sätta egna standarder. Det är därför som det blir såhär...

Microsoft försökte ju nyligen ändra namnet på RSS till Web Feeds. Tror det var webb feeds i alla fall. Tycka vad man vill om namen så fanns det redan ett namn och många trodde att de ville ändra namn så de kunde säga att de var först med webb-feeds-tekniken...

Aja, nu har jag fått avreagera mig lite. Tänk om Micorsoft kunde försöa köra lite mer standardiserat och följa resten av världen för en gångs skull...

Medlem sedan aug. 20039 340 inlägg
#13

urban_hahne skrev:

Tråkigt att det inte går att få läsarna kompatibla med varandra men det borde åtminstonde gå att få fram vad det är som skiljer och hur man undviker felen.

Det gör det, men det betyder också att man får undvika godis som blendTrans (Eller åtminstone använda det med stor försiktighet)
Jag tycker du (Och alla andra webmasters som inte har gjort det) bör koda en sida som är gjord helt efter W3C's rekommendationer, och bara testa den i Opera och FF. När den sedan funkar i de två läsarna, bör den med stor sannolikhet funka i de andra två också.

382 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
127 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)