Datenschutzerklärung

Tags im Javascript-Bereich

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Bug-Reports / Fehlermeldungen /

Tags im Javascript-Bereich

  Beitrag schreiben
Autor
Beitrag Seiten: 1
Walter
Mitglied

Registriert: 17.04.2006
Beiträge: 9
Ich hoffe ich erwähne hier keinen alten Schuh:

Ich bekomme eine HTML 4.01 Transitionell-Seite nicht validiert, weil ich in einem Javascript-Abschnitt

Code:

text = '<i>' + name + '</i>';

stehen habe. Fehlermeldung: Endtag I zu einem nicht vorhandenen Starttag gefunden..

Mich wundert, dass der Code innerhalb eines <script>-Tags auf HTML-Tags überprüft wird, anstatt ihn einfach zu ignorieren (da Validome ja keine Script-Überprüfung vornimmt).

Beitrag geändert von Walter (17.04.2006 20:56:24)


17.04.2006 20:55:10
  Zitieren
pit-r
Moderator

Ort: Aachen
Registriert: 14.03.2006
Beiträge: 62
Moin!

Mach einfach sowas:
text = '<i>' + name + '<\/i>';
Es ist allerdings zu erwähnen, daß der <i>-Tag schon halb verwest ist und besser nicht mehr verwendet werden sollte...

Ahoi - Pit


_______________________________________
Öh - da kannichnixfür

17.04.2006 22:49:43
  Zitieren
gurkenpapst
Gast




Mich wundert, dass der Code innerhalb eines <script>-Tags auf HTML-Tags überprüft wird

Das muss so sein, schließlich wird nach dem schließenden script-Tag gesucht. Wie sollte man sonst vorgehen, wenn man nicht weiß, wie lang der Scriptblock ist? Das schließende Tag fängt halt mit "</" an, und hier steht da dann dummerweise bei dir ein "i" anstelle script. Also kommt eine Fehlermeldung ...


17.04.2006 23:29:03
  Zitieren
Walter
Mitglied

Registriert: 17.04.2006
Beiträge: 9
Naja, ich weiß ja nicht, wie ihr euren Validator geschrieben habt, aber einfach nur stur nach Tags suchen, egal in welcher Umgebung, halte ich nicht für sehr intelligent.

Wieso ignoriert ihr nicht einfach alles was zu einem Skript gehört? Man könnte in einem ersten Durchgang alle Skript-Bereiche entfernen oder die lexikalische Analyse auch auf die Skripte erweitern.

Und zum <i>: Wenn man etwas kursiv schreiben möchte, und dies auch nie ändern will und kein austauschbares Layout verwendet dann ist das <i> ein segen! :)


18.04.2006 11:09:11
  Zitieren
Validome
Administrator

Registriert: 04.04.2005
Beiträge: 313
Hallo,
es ist fast (oder absolut) unmöglich einen script-Bereich per Textanalyse zu erkennen. Beispiel:
<script ...>
  document.write('</script>');
</script>
Wie soll ein Textparser erkennen das das erste "</script>" zu ignorieren ist ? Welches der beiden </script>-Tags ist falsch ? (keins)
Würde man einfach alles zwischen <script> und </script> ignorieren, dann hätten wir in diesen (einfachen) Beispiel ein </script> zuviel, was wiederum zu einer falschen Fehlermeldung führen würde.
Einen script-Bereich kann nur ein Javascriptinterpreter sauber erkennen, der er diesen >ausführt< und nicht >parst<.
Aber auch dafür haben wir schon etwas in Planung, einen JS-Interpreter gibts ja von Mozilla und Microsoft...

mfg
Thomas Mell


18.04.2006 12:06:18
  Zitieren
dkdenz
Administrator

Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605

Walter schrieb:

Naja, ich weiß ja nicht, wie ihr euren Validator geschrieben habt, aber einfach nur stur nach Tags suchen, egal in welcher Umgebung, halte ich nicht für sehr intelligent.

Entschuldigung, aber das ist echt frech!
Leute als unintelligent zu bezeichnen, welche einen hochkomplexen Validator hervorgebracht haben,
aber selber nicht mal wissen, wie man mit Hilfe von Backslashes maskiert...


_______________________________________
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol

19.04.2006 08:38:21
http://dkmd.de | http://dkdenz.de Zitieren
Walter
Mitglied

Registriert: 17.04.2006
Beiträge: 9
Ich glaube zum Parsen des JS-Code muss man ihn nicht ausführen, da die Struktur der Sprache ja schon statisch ist. Oder übersehe ich da jetzt was?

Was mach dabei wundert ist, dass ein "x = '</html>';" einen Parse-Fehler wirft, wogegen ein "x = '<html>';" richtigerweise nicht beanstandet wird (obwohl doch für den Parser dort ein neuer <html>-Tag aufgemacht wird).

NEIN, so war das mit dem intelligent überhaupt nicht gemeint, mir viel nur gerade kein anderes Wort ein (vielleicht hätte ich suboptimal schreiben sollen). Es bezog sich auch in keinster Weise auf die Macher, sondern auf die Vorgehensweise des Parsers. Ich finde Validome super und ziehe ihn immer dem w3c vor!

Ich wollte ja nur mal die Script-Problematik ansprechen, mehr nicht. Das ganze ist ja auch kein schlimmer Bug. :)


19.04.2006 19:44:49
  Zitieren
dkdenz
Administrator

Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605

Walter schrieb:


NEIN, so war das mit dem intelligent überhaupt nicht gemeint, mir viel nur gerade kein anderes Wort ein (vielleicht hätte ich suboptimal schreiben sollen). Es bezog sich auch in keinster Weise auf die Macher, sondern auf die Vorgehensweise des Parsers. Ich finde Validome super und ziehe ihn immer dem w3c vor!

Na, dann möchte ich meinen harschen Ton wieder entschärfen...
...wie leicht man doch missverstanden werden kann, wenn man nicht die passenden Worte wählt.


_______________________________________
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol

19.04.2006 20:29:16
http://dkmd.de | http://dkdenz.de Zitieren
Validome
Administrator

Registriert: 04.04.2005
Beiträge: 313
Hallo Walter,

Die Javascript-Angelegenheit ist in der Tat unangenehm, die "Isolierung" der JS-Snippets (um das darin beinhaltete Markup nicht mehr zu berücksichtigen) ist allerdings nicht so einfach, da es nur zuverlässig funktioniert, wenn entsprechende JS-Sequenzen eindeutig identifiziert werden. Schau Dir einmal das Beispiel von Thomas - 3 Postings weiter oben - an, dann erkennst Du, wie komplex diese Thematik ist und dass es NUR mit einem Interpreter / Emulator geht.
Wir haben die entsprechende Technologie als Standalone in der Schublade, allerdings wird die Implementierung (nicht zuletzt aus performancetechnischen Gründen) noch einige Zeit dauern.
Vorrangig ist derzeit allerdings die neue Version von Validome mit etlichen neuen Features und Erweiterungen.
Grüsse, Yehuda


20.04.2006 09:39:52
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01