Mathias Brodala: Funktionstext dynamisch nachladen: Tests erwünscht!

Beitrag lesen

Hallo Axel.

Was hältst du davon?
Abstand ;-) Siehe http://forum.de.selfhtml.org/archiv/2006/6/t131082/#m847712

Durchaus berechtigt, ja. Aber für den Fall, dass das Nachladen von Programmcode doch einmal erforderlich ist, ist es gut, eine funktionstüchtige Möglichkeit zu haben.

[…] Nur der IE streikt und meldet „Unerwarteter Aufruf oder Zugriff“. Eine Idee?
Ja
[…]

Siehe auch http://forum.de.selfhtml.org/archiv/2006/6/t131082/#m847831 und zu HTMLScriptElement.text siehe http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#ID-81598695.

Sehr interessant. Damit funktioniert es in fast allen mir zur Verfügung stehenden JS–fähigen Browsern. Lediglich mac:ie und Safari wollen nicht. Ersterer kennt offenbar noch keine Form des XMLHttpRequest–Objektes und zweiterer gibt folgendes als Fehler aus:

error[name] = TypeError
error[message] = Object (result of expression foo) does not allow calls.
error[message] = Object (result of expression foo) does not allow calls.¹
error[line] = 94
error[sourceURL] = http://dev.noctus.net/ajax/simple.htm

Fügt man den Inhalt des Scriptelementes jedoch per appendChild ein, verrichtet auch er sein Werk. So wie ich das mitbekommen habe, kennt Safari ab Version 1.3 HTMLScriptElement.text nicht mehr. (Version 1.2 soll sie noch kennen.)

Es ergibt sich also folgendes:

Browser         | appendChild(document.createTextNode()) | text
-----------------+----------------------------------------+-------
 Opera 9         |                  JA                    |  JA
-----------------+----------------------------------------+-------
 Firefox 1.5.0.6 |                  JA                    |  JA
-----------------+----------------------------------------+-------
 Konqueror 3.5.4 |                  JA                    |  JA
-----------------+----------------------------------------+-------
 IE 5            |                 NEIN                   |  JA
-----------------+----------------------------------------+-------
 IE 5.5          |                 NEIN                   |  JA
-----------------+----------------------------------------+-------
 IE 6            |                 NEIN                   |  JA
-----------------+----------------------------------------+-------
 Safari 1.3      |                 JA                     |  NEIN
-----------------+----------------------------------------+-------

Mehr steht mir momentan nicht zur Verfügung, sollte also irgendwer über einen einigermaßen gängigen Browser verfügen, welcher noch nicht hier aufgeführt ist, würde ich mich über Testresultate meines Testfalls freuen.

Einen schönen Samstag noch.

Gruß, Mathias

¹ Ja, wirklich zweimal.

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]