20. februar 2009 - 11:43Der er
13 kommentarer og 2 løsninger
Fejl i FireFox - hvad kan den skyldes
invalid XML tag syntax dcsTag()default.aspx (linje 600) (?)()default.aspx (linje 689) [Break on this error] <document.write("<SCR"+"IPT TYPE='t...'><\/SCR" +"IPT>"); \n
Ovenstående er hvad jeg får fra FireFox og jeg kan godt regne ud at der er noget galt, men pt. ikke hvad... Er der nogen som har set den type fejl før og ved hvad jeg bør lede efter?
Problmatikken er at det nævnte Javascript bliver genereret via en lang streng i c# (der er escaped efter bedste evne). Derfor er det svært at fejlsøge koden, før den køres og når den kører har jeg mindst 1 fejl (sikkert beslægtet med andet)...
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Nu er spørgsmålet oprettet i JavaScript kategorien og ikke i X(HT)ML, med vilje...
Det er et script jeg har fået, som skal inkluderes på en side og det fejler, som angivet. I en user control hvor scriptet er inkluderet som JavaScript direkte, melder den ikke samme fejl, men den løsning kan jeg ikke bruge i dette tilfælde.
Altså skal jeg på en eller anden måde finde ud af, hvad den får galt i halsen, så jeg kan få det til at køre igen... Det er da højst sandsynligt at problemet er opstået, fordi jeg har fumlet i at escape strengen, men bare jeg kunne få en ide om hvor/hvad...
Nu er jeg sådan set ligeglad med, hvor du har oprettet spørgsmålet. Jeg forholder mig udelukkende til det, du spørger os om og det, du viser os =)
Du kan som sagt ikke bruge document.write i forbindelse med XML - og det er jo netop en XML-fejl, du viser. I forbindelse med XML skal du altid bruge DOM, hvis du vil manipulere elementerne i dokumentet.
Hvis document.write skulle implementeres under XML, ville man skulle fyre den allermest grundlæggende regel i XML - nemlig at XML-dokument altid skal være velformet.
"Ved et tilfælde havde du ret i placeringen, men du har ikke spottet fejlen (eller det tror jeg da ikke)." >> Du tager fejl! Det er fuldstændig basal viden, at document.write ikke kan bruges under XML =)
der var intet rå XML i det, og document.write SKAL med, så det var en simpel "slåfejl", det er "<" der skal væk, ikke resten af linien...
Det der forvirrede var netop XML fejlen, fordi jeg ikke har lavet noget XML halløj i den nævnte kode, bortset fra den famøse "<", som fik FireFox til at tro, den skulle tolke XML (klædeligt røde ører i min ende)...
I øvrigt var den nævnte fejl årsag til den anden fejl jeg havde (hvad jeg også havde mistanke om), så da jeg fjernede "<" i den linie, så meldte FF ingen fejl!
Du skriver vel XHTML. Ellers ville FF næppe begynde at tale om XML. XHTML er et subset af XML og skal derfor overholde alle XML-regler - hvorfor jeg også tidligere skrev X(HT)ML. XHTML er 'rå XML' ;o)
Heller ikke under XHTML giver document.write altså mening
document.write er noget javascript, og da det skal med i dette tilfælde, skulle jeg finde ud af hvor snoren knækkede, det synes jeg ikke fremgik at dit svar, snarere at jeg skulle fjerne "document.write" som er en central del af scriptet, hvorfor det absolut ville give fejl igen...
Jeg vil gerne dele point, i og med at din betragtning om at document.write ikke hørte til i XML, ledte mig på sporet af den reelle fejl...
(ud fra din beskrivelse kunne jeg dog ikke direkte løse den, med mindre jeg har overset noget i teksten...)
Nu afslører du jo ikke, om jeg har ret i, at du skriver XHTML. Gør du det, skal document.write ikke med ... det må ikke komme med.
Det er muligt, visse browsere tollererer document.write under XHTML, men det er i så fald en ekstremt alvorlig fejl - og den slags bør man absolut ikke basere sin kode på.
Hvis du bruge den alligevel, gør du på den anden side livet langt lettere. Så er der nemlig ikke længere grund til, at du tænker på HTML-, CSS-, DOM- eller script-standarder ;o)
Hmmm ... nu har jeg lige testet - og ja, du har zq ret! Firefox er lam og buggy nok til at kaste en XML-fejl i en HTML-kode (endnu et godt eksempel på, hvordan FF's XML- og HTML-fortolkning er rodet sammen i én pærevælling - og i virkeligheden er én og samme samling bugs à la carte!).
IE er væsentligt mere realistisk og kaster den forventede 'syntax error'.
Nej, ofte er FF bedre på fejlmeddelelser, men ikke lige i dette tilfælde. Tak for points =)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.