Entschuldigen Sie meine Ungeduld, aber nachdem ich wochenlang lange aufgestanden bin und mein Web online gestellt habe, habe ich keine Energie mehr zum Debuggen ... Ich kann Google einfach nicht, wie JSON auf IE6 und IE7 implementiert wird ... Ich benutze
JSON.stringify(...)
Soweit ich weiß, ist JSON nicht in IE6-7 integriert und muss dynamisch in Inline-Code eingefügt werden. Wie machen Sie das?
Ich habe bereits jQuery - ist es mein richtiges Verständnis, dass ihre JSON-Engine auf der nativen Browser-Engine basiert?
Dann ein Kommentar zu ungültigem JSON-Code, der IE6-7 zum Scheitern bringt, aber ich dachte, er wäre in IE6-7 nicht nativ?
Jemand?
quelle
if (typeof JSON == 'undefined')
Es muss etwas missverstanden werden. Die Objektnotation ist seit einiger Zeit in JavaScript (soweit ich weiß, handelt es sich um ein Kernkonzept von JavaScript). Ich meine, die Fähigkeit, Code wie zu schreiben
var o= {a:"b"};
. Wenn Sie dies tun können, können Sie auch aufrufen,
eval('var o= {a:"b"};')
und auf diese Weise "implementieren" Sie JSON in jedem Browser.UPDATE: Lesen Sie Ihren Beitrag erneut und stellen Sie schließlich fest, dass das Problem darin besteht, Objekte zu serialisieren und nicht zu deserialisieren. Dann können Sie die JavaScript-Bibliothek dafür verwenden: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
quelle
JSON
Objektkompatibilität benötigen, ist json2.js der richtige Weg.Fügen Sie einfach json2.js in Ihre Datei ein, um mit JSON herumzuspielen . Es wird auch in IE 9 funktionieren.
quelle
"Dynamisch hinzugefügter Inline-Code" verwendet die Funktionalität der Douglas Crockfords json2-Bibliothek oder die eigene Implementierung von jQuery, wenn die Browserversion dies nicht nativ unterstützt.
jQuery ist nicht auf JSON-Dekodierungsfunktionen angewiesen, die vom Browser bereitgestellt werden. Wenn der Browser die JSON-Dekodierung unterstützt, wird sie von jQuery verwendet.
quelle