Verstehe Javascript Fehlermeldung vom IE nicht
Andi
- javascript
0 Cybaer0 Der Martin0 Cheatah
Hallo,
ich bastele an einem Script, und bekomme vom IE die Meldung
Ungültiges Argument
Zeile 68 Zeichen 5
in Dastei listing.php
In dieser Datei in Zeile 68 ist jedoch kein Javascript Code, sondern nur HTML.
Ich binde Im <head> 3 Javascript Dateien ein, doch dort finde ich in Zeile 68 ebenfalls keinen Fehler.
Wie Zählt der IE die Zeilen? Von beginn des Dokuments oder nur den Javascriptbereich? Zählt er mit <script src="bla"> eingebundene Dateien mit? Werden Evtl. Kommentare ignoriert?
Wäre Super wenn jeman mehr weiß.
Die FF & OP Javascript Konsole zeigt keine Fehler an.
Danke euch schonmal.
Grüße Andi!
Hi,
Wie Zählt der IE die Zeilen? Von beginn des Dokuments oder nur den Javascriptbereich? Zählt er mit <script src="bla"> eingebundene Dateien mit? Werden Evtl. Kommentare ignoriert?
(IIRC) als wäre alles in einer (HTML-)Datei. Von Beginn an. Ja. Nein.
Schlimmstenfalls also den externen Scriptcode in die HTML-Datei kopieren, und dann ernaut nach der angegeb. Zeilennumer suchen.
Gruß, Cybaer
Super, danke so kann ich die Zeilen zusammezählen.
Jetzt weiß ich wenigstens wo ich suchen muß ;-)
Grüße, Andi
Hallo Andi,
Wenn du ein MS Office zu Verfuegung hast, kannst Du dir von dort auch den Debugger installieren, der ist ziemlich vernuenftig. Es gibt auch den kostenlosen Scriptdebugger von MS, ueber dessen Qualitaet kann ich aber nichts sagen.
http://www.jonathanboutelle.com/mt/archives/2006/01/howto_debug_jav.html
Gruß,
Dieter
Hi,
Jetzt weiß ich wenigstens wo ich suchen muß ;-)
Normalerweise grenze ich in solchen Fällen den möglichen Bereich einfach mit Alerts ein.
Hmm, Korrektur: Normalerweise mach ich gar keine Fehler! =;-)
Gruß, Cybaer
Hallo Cybaer.
Jetzt weiß ich wenigstens wo ich suchen muß ;-)
Normalerweise grenze ich in solchen Fällen den möglichen Bereich einfach mit Alerts ein.
Oder weniger nervig: per Einfügen der Meldungen in eine dynamisch generierte Textarea.
Einen schönen Donnerstag noch.
Gruß, Mathias
Hi,
Oder weniger nervig: per Einfügen der Meldungen in eine dynamisch generierte Textarea.
Ts, ts, ts, dafür nimmt man heutzutage doch ein (dynamisches) DIV. ;)
Da habe ich doch gleich was:
/* 'Alert-Alternative 290706' (c) by cybaer@binon.net
--------------------------
Inhalt : Gibt einen Alert-Text in einem Element mit der ID "alertH" aus
Aufruf : alertH(alertText,waitText)
Parameter : alertText (mixed)
waitText (mixed) (optional) Wird waitText nicht uebergeben, so
erscheint ein Alert mit einem Standardtext. Wird ein
Leerstring uebergeben, so erscheint gar kein Alert.
Sprache : JavaScript 1.1 (ungesichert), JavaScript 1.5 (gesichert)
Quelle : http://Coding.binon.net (cybaer@binon.net)
Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
bei nicht-kommerziellen Projekten (und deren unentgeltlicher
Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
InlineFunc: -
Konstante : -
Variable : -
SystemVar : -
ExternVar : -
Rueckgabe : -
Anmerkung : Existiert kein Element mit der ID "alertH" (oder ist der Browser
zu alt), wird ein normaler Alert mit dem Text erzeugt).
Beispiele : alertH("Hello World");
*/
function alertH(alertText,waitText) {
var hObj;
if(document.getElementById && document.getElementById("alertH")) {
hObj=document.getElementById("alertH");
hObj.innerHTML='<span>'+alertText.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\n/g,"<br>")+'</span>';
with(hObj.style) {
display="block";
backgroundColor="#C0C0C0";
color="#000000";
margin="10px";
padding="0";
border="1px solid";
borderColor="#C0C0C0 black black #C0C0C0";
}
with(hObj.firstChild.style) {
display="block";
margin="0";
padding="10px";
border="1px solid";
borderColor="white #808080 #808080 white";
}
if(typeof(waitText)=="undefined") { waitText="Press OK to continue!"; }
if(waitText!=="") { alert(waitText); }
} else {
alert(alertText);
}
}
Also alertH("Test"); schreibt "Test" ins alertH-Element und bringt einen Alert "Press OK ...".
alertH("Test"," "); schreibt nur "Test".
Gruß, Cybaer
Hi,
Normalerweise grenze ich in solchen Fällen den möglichen Bereich einfach mit Alerts ein.
oder - bei vielen Dateien mit komplexen Verknüpfungen - durch Veränderung der Nummer aller Code-Zeilen. Ein paar Return-Tastendrücke sind schneller ;-)
Cheatah
Hi,
oder - bei vielen Dateien mit komplexen Verknüpfungen - durch Veränderung der Nummer aller Code-Zeilen. Ein paar Return-Tastendrücke sind schneller ;-)
Hmm, auch nicht schlecht - wenn man ungefähr weiß wo.
Alert hat halt den Vorteil, daß die nach dem Fehler nicht ausgeführt werden. Returns danach sind ja nicht zu "sehen". ;-)
Gruß, Cybaer
Wie Zählt der IE die Zeilen? Von beginn des Dokuments oder nur den Javascriptbereich? Zählt er mit <script src="bla"> eingebundene Dateien mit? Werden Evtl. Kommentare ignoriert?
(IIRC) als wäre alles in einer (HTML-)Datei.
Das ist falsch, der IE 6 werden die Zeilen der Fehler in den einzelnen Datei angezeigt, zumindest bei mir ist das so. Und er zählt auch nicht die Zeilen eingebundener Dateien mit.
Struppi.
Hallo Andi,
Ungültiges Argument
Zeile 68 Zeichen 5
in Dastei listing.php
In dieser Datei in Zeile 68 ist jedoch kein Javascript Code, sondern nur HTML.
ergänzend zu Cybaer:
Lass dir im IE den Quelltext anzeigen und richte dich _dort_ nach der Zeilennumerierung. In der Quelltextanzeige hast du nämlich _exakt_ die Zeilennumerierung, die auch mit der Javascript-Fehlermeldung korreliert - in deiner PHP-Source hast du eine andere Zählung, weil der PHP-Code noch mit drinsteckt, den der Browser ja nicht zu Gesicht bekommt.
So long,
Martin
Hi,
Ungültiges Argument
Zeile 68 Zeichen 5
in Dastei listing.php
Ich binde Im <head> 3 Javascript Dateien ein, doch dort finde ich in Zeile 68 ebenfalls keinen Fehler.
ad 1: Die Meldung sagt nicht, wo der Fehler _ist_, sondern wo er _auftrat_. In aller Regel ist er im Code etwas früher.
ad 2: Der Fehler trat entweder in Zeile 68, Zeichen 5 der listing.php auf, oder in Zeile 67, Zeichen 5 einer der eingebundenen Dateien. Das Summierungsphänomen kenne ich von PHP, nicht aber vom IE.
Cheatah