Frank Faulstich wrote:
> Thomas 'PointedEars' Lahn [wrote]:
>> > var versions = JSON.parse(jsontext);
>>
>> Bedenke, dass nicht jede ECMAScript-Implementierung das built-in hat.
>
> Ja, das ist mit klar. Es ist in diesem Fall aber kein Problem, da das
> Ganze nur im IE funktionieren muss. Es geht um ein Startmenü von einer
> DVD. Per autorun.inf wird eine setup.exe gestartet, die den IE einbindet.
Deine Argumentation ist nicht logisch. Aus der aktuellen ECMAScript Support
Matrix geht schliesslich hervor, dass JScript bis einschliesslich Version
9.x keine eingebaute Unterstützung für JSON hat. Die neue (noch
unveröffentlichte) Version der Matrix korrigiert das und zeigt, dass
JSON.parse() und JSON.stringify() erst seit JScript 5.8.23141 (gemäss
ECMAScript Edition 5) unterstützt werden.
Kannst Du garantieren, dass MSHTML ≥ 8.0.6001.18702IC installiert ist,
verwendet wird und dabei der standardkonforme Modus verwendet wird? Wenn
nein, musst Du alternativ für eine benutzerdefinierte Implementierung sorgen
oder (besser nicht) eval() verwenden.
>> > oder geht das einfacher?
>> Ja. Ob das aber besser wäre, steht auf einem anderen Blatt.
>
> Wie geht das?
Zum Beispiel könntest Du die Textressource in einen Frame laden und den
relevanten Teil des Frame-Dokuments an eine geeignete Funktion übergeben.
> Was wäre schlecht daran?
Es ist unnötig kompliziert. IXMLHTTPRequest wurde 1999 von Microsoft als
Komponente in MSXML2 für den Zugriff mit Internet Explorer auf Outlook Web
Access für Exchange Server 2000 entwickelt. Erst später folgten
Implementierungen von Mozilla, sowie von Opera, Apple und Google (wodurch
jemand auf die Idee kam, dieses gar nicht neue Prinzip „AJAX“ zu nennen –
“Asynchronous JavaScript and XML”, eine in jeder Hinsicht fhcsale
Bezeichnung), und schliesslich die W3C-Spezifikationen “XMLHttpRequest” (CR,
im Dezember 2012 eingestellt) bzw. “XMLHttpRequest Level 2” (WD, neu nur
noch “XMLHttpRequest”).
Mit dem ActiveX-Control (implementiert weitestgehend W3C XMLHttpRequest)
lässt sich in JScript/MSHTML über file:// URIs auch auf Dateien im
Dateisystem zugreifen, sofern auf das Dokument, in dem sich der Quelltext
befindet, ebenfalls mit file:// zugegriffen wird.
<
http://en.wikipedia.org/wiki/XMLHttpRequest>