Gå til innhold

[LØST] Kode som ikke fungerer i Internet Explorer


Anbefalte innlegg

Skrevet (endret)

Hei! Jeg har holdt på med et lite prosjekt i det siste, og dette trenger jeg litt hjelp med.

 

http://heal.wedvich.net/ er addressen, og

http://heal.wedvich.net/scripts.js er skriptet (for de som ikke gidder å se i kildekoden)

 

Det er jo en del kode, men likevel. Problemet er at det ikke fungerer i Internet Explorer i det hele tatt, hverken i 6eren eller 7eren. "Feil på siden" popper opp, og forklaringen er "ukjent kjøretidsfeil". Det gir meg jo veldig mye å gå etter. Likevel, skriptet fungerer helt fint i Firefox, Opera og Safari, uten å komme med hverken feil, advarsler eller hint. Men det kjører ganske enkelt ikke i Internet Explorer. Jeg har kjørt skriptet igjennom jslite for å se om det er noen åpenbare feil, men den finner ingenting. Jeg har veldig lite erfaring med Javascript selv, så koden er nok bygd litt på "prøve-seg-frem"-prinsipper. Men er det noen som har litt for mye fritid som kunne tenke seg og se igjennom skriptet, og fortelle meg hva som kan gjøre at Internet Explorer ikke takler det, selv om det går fint i ordentlige (legg merke til dissen av IE der) browsere? Eller i det minste gi meg noen råd om hvordan jeg kan debugge det selv?

 

Takk på forhånd!

Endret av Wedvich
Videoannonse
Annonse
Skrevet
Se om det finnes noen syntaksfeil med JSlint. IE sin JS-tolker er bæsj.

http://www.jslint.com/lint.html

Ja altså, det var JSlint jeg mente der jeg skrev jslite i den originale posten min. Jeg har allerede testet der, og den fant ingenting. Prøvde det nå, og nå fant den en del nye feil. Men det fungerte ikke i Internet Explorer før jeg la til koden som skaper feilene som kommer opp nå heller :ermm:

 

Den eneste som kom opp også da jeg sjekket sist, er "Implied global: document 296 309 319". Skjønner jo hva det vil si, men jeg har ikke peiling på hvordan jeg faktisk fikser den heller. Men kan det være den bittelille luremusen der som knekker IE?

Skrevet
You never know.

 

Installer firebug lite og logg litt. Det er vel det beste tipset, hvis du ikke får advarsler.

 

Jeg får advarsel i IE 7

 

Line: 491

Char: 2

Error: Unknown runtime error

Code: 0

URL: http://heal.wedvich.net

Jepp, det er den samme feilmeldingen jeg får. Og "unknown error" hjelper som vanlig fint lite. Men jeg skal prøve med Firebug når jeg kommer hjem. Sitter på jobben nå, og her bruker vi - you guessed it - Internet Explorer :roll:

Skrevet

Firebug gir hverken feil eller advarsler, akkurat som feilkonsollen i Firefox. Og skriptet fungerer jo knirkefritt i Firefox, Opera og Safari. Det er bare Internet Explorer som tuller seg. Nå har jeg nemlig forandret på en del kode i håp om at det skulle fungere bedre. Og joda, det er en forskjell: jeg får ikke feilmelding i Internet Explorer lenger. Flott. Men skriptet fungerer fortsatt ikke! Nå får jeg ikke feilmelding engang, det gjør bare rett og slett ikke det det bør og skal gjøre. Jeg blir gal hvis ingen har en genial løsning på dette. :(

Skrevet (endret)

Du misforstod. Bruk firebug (firebug lite i IE) for å feilsøke på hva som har gått galt.

 

Logging?

 

function dothis() {
bull();
console.log("Doing the lala");
crap();
}

 

Poenget er å få scriptet til å snakke til deg om hva som feiler det.

Endret av semafor
Skrevet

Jeg skjønte hva du mente, men ut ifra de testene jeg gjorde, så det ikke ut som omskriptet hadde noen problemer. Begynte nesten å gi opp, men så googlet jeg litt på helt random ting jeg tenkte kunne skape problemer. Og gjett hva.

 

http://msdn2.microsoft.com/en-us/library/m...897(VS.85).aspx

 

The property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR. The property has no default value.

Og der har vi det. innerHTML er read-only for <table> i Internet Explorer. Jeg gidder ikke å spørre meg selv om hvorfor disse elementene er unntak, eller hvorfor det i det hele tatt skal være unntak; det er jo tross alt Microsoft. Men forandret skriptet til å sette inn dataene i en <div> i stedet, og vips - suksess :w00t:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...