Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

HTML-Editor phase 5 Support _ HTML _ Problem mit javascript und <

Geschrieben von: DNS 01.03.2007 - 16:50

Hallo allerseits!

Ist zwar kein HTML-Problem, aber eine Rubrik für Javascript konnte ich nicht finden - falls mein Beitrag hier also fehl am Platz sein sollte, bitte an die richtige stelle schubsen.

Mein Problem ist folgender HTML-Code im Header:

QUELLTEXT
<script type="text/javascript">
var k = 0;
function small() {
if(k == 0) {
k = 1;
var bilder = document.getElementsByTagName("img");
for (i = 2; i < bilder.length; i++ ) {
var wid = bilder[i].width;
bilder[i].height = "100";
bilder[i].width = wid / 3;
}
var tds = document.getElementsByTagName("td");
for (j=1; j<tds.length; j=j+2 ) {
var tdtext = document.getElementsByTagName("td")[j].firstChild;
textweg = document.getElementsByTagName("td")[j].removeChild(tdtext);
}
document.getElementById("hallo").style.display = "block";
}
}
</script>

Bis zur 7. Zeile ist alles in Butter, aber bei der FOR-Bedingung "i < bilder.length" steigt Phase 5 irgendwie aus, weil es das "<"-Zeichen für einen öffnenden Tag hält. Somit wird ab dieser Stelle der ganze Rest wie ein einziges HTML-Element behandelt und dargestellt. Bei der Ausführung des Skripts gibt es kein Problem, aber ich möchte gerne den kompletten SCRIPT-Absatz per Include einfügen lassen. Und bei dieser Einfügung wird ab genau dieser Stelle beim restlichen Code nicht mehr die Großschreibung unterstützt, was dazu führt, dass ein invalider Javascript-Code entsteht (zB "getelementbytagname" statt "getElementByTagName") und somit bei Ausführung des Skriptes eine Fehlermeldung geschmissen wird. Die Include-Datei an sich sieht noch absolut okay aus, aber wenn ich die Includes aktualisieren lasse, dann wird der kleingeschriebene Murks eingefügt.

Weiß jemand Hilfe?

EDIT:
Äh... das Problem ist nicht mehr da blush.gif
Zwar ist die Erkennung in Phase 5 immer noch falsch, aber die Einsetzung per Include geht jetzt wieder. Kann das was mit dem Zeilenumbruch zu tun gehabt haben?

Viele Grüße,
Dennis.

Geschrieben von: DNS 01.03.2007 - 22:39

Ich nochmal - jetzt habe ich den Fehler:
Die Include-Datei ist, wie bereits gesagt, in Ordnung, was Groß- und Kleinschreibung angeht. Wenn ich sie aber in ein Dokument einfüge (Einfügen > Includedatei...), dann wird folgendes eingefügt (ich habe mal die Darstellung farblich an mein Schema angepasst, damit man leicht erkennen kann, ab wo der Parser spinnt):

<!--INC:"javascript.inc","01.03.2007 16:47:38"-->
<script type="text/javascript">
var k = 0;
function small() {
if(k == 0) {
k = 1;
var bilder = document.getElementsByTagName("img");
for (i=2; i<bilder.length ; i++ ) {
var wid = bilder[i].width;
bilder[i].height = "100";
bilder[i].width = wid / 3;
}
var tds = document.getelementsbytagname("td");
for (j=1; j<tds.length ; j=j+2 ) {
var tdtext = document.getelementsbytagname("td")[j].firstchild;
textweg = document.getelementsbytagname("td")[j].removechild(tdtext);
}
document.getelementbyid("hallo").style.display = "block";
}
}
</script>

<!--/INC:"javascript.inc"-->


Auch wenn ich danach per Projekt > Includes aktualisieren... das Include aktualisiere, ändert sich nichts. Erst wenn ich die Includeatei öffne, irgend eine Nichtigkeit ändere und neu abspeichere, und dann aktualisiere, wird der richtige Code eingefügt, genauso, wie er in der Includedatei steht.

Das ist wohl einerseits ein Bug in der Include-Geschichte, hervorgerufen durch einen Bug im Parser. Gemäß selfhtml ist alles zwischen "<script>" und dem nächsten "</" reiner Skriptcode, der als Text interpretiert wird. Wieso steigt Phase 5 dann schon bei einem "<i" aus?

Viele Grüße,
Dennis.

Geschrieben von: DNS 04.03.2007 - 14:11

Ich bin geplättet ob des energischen Feedbacks! Ich habe mir ehrlich gesagt ein wenig mehr Reaktionen versprochen. Dafür, dass das hier das offizielle Support-Forum ist.

Geschrieben von: Auge 04.03.2007 - 16:14

Hallo

ZITAT(DNS @ 04.03.2007 - 14:11) *
Ich bin geplättet ob des energischen Feedbacks! Ich habe mir ehrlich gesagt ein wenig mehr Reaktionen versprochen. Dafür, dass das hier das offizielle Support-Forum ist.

Naja, warum sollte auch irgendwer anworten, wenn du die Lösung innerhalb weniger Stunden selbst gefunden hast?

Abgesehen davon wird außer dir auch niemand das Problem gehabt haben, da es durchaus ungewöhnlich ist, JavaScript-Code per include einzubinden. Wenn du selbigen extern pflegen willst, warum verlinkst du die JavaScriptdatei nicht einfach?

QUELLTEXT
<script src="/pfad/zur/datei/javascript.js" type="text/javascript"></script>


Tschö, Auge

Geschrieben von: jomal 04.03.2007 - 20:29

Oh, war ich zu langsam.
Jetzt hat Auge schon meine Lösung geposted.

jomal

Geschrieben von: DNS 05.03.2007 - 10:11

ZITAT(Auge @ 04.03.2007 - 16:14) *
Naja, warum sollte auch irgendwer anworten, wenn du die Lösung innerhalb weniger Stunden selbst gefunden hast?


Hallo Auge!

Zunächst mal Danke für Deine Antwort. Wie Du lesen kannst, habe ich zwar eine Lösung gefunden, aber das Problem besteht weiterhin, nämlich in der falschen Erkennung meines Phase 5, was JavaScript angeht, und der falschen Einsetzung bei Includes. Und da JavaSript innerhalb einer HTML-Datei vielleicht doch nicht so exotisch ist, dachte ich mir, ich erhalte entweder eine Antwort, dass das ein (altbekannter) Bug von Phase 5 ist, oder dass ich da und da eine "falsche" Voreinstellung verwende.

ZITAT
Wenn du selbigen extern pflegen willst, warum verlinkst du die JavaScriptdatei nicht einfach?

Ja, auf den Trichter bin ich jetzt auch gekommen, danke.

Viele Grüße,
Dennis.

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)