Dies geschieht nur in IE.Internet Explorer abgeschnitten FlashVars mit JSON
Ich verwende swfobject und das Flash-Laden vars als solche
var flashVars = {
myVar:'{"url":"http://google.com/", "id":"9999"}',
};
var params = {
allowFullScreen:"true",
wmode:"transparent",
allowScriptAccess:'always'
};
swfobject.embedSWF("mySwf.swf", "mySwf", "512", "318", "10.0.0", "./js/swfobject/expressInstall.swf", flashVars, params);
Alles perfekt in jedem Browser aber IE funktioniert. Ich überprüfte und es kommt in die swf als {
und das ist es. Ich weiß, dass es bei '
stirbt. Ich habe versucht, eine \
infront, dann versuchte \\
und fügte einen Schrägstrich bis ich zu \\\\\\\\
. Ich habe sogar alle Schnitte invertiert und dasselbe Ritual versucht. Nichts.
Ich kann die Zeichenfolge endlich durchkommen, mit invertierten Anführungszeichen und doppelten Schrägstrichen, aber dann wird mein JSON-Parser wütend, weil es in meiner Zeichenfolge Schrägstriche gibt.
Hier ist ein Beispiel dafür, was funktioniert, aber von dem, was ungültige JSON ist:
"{\\'url\\':\\'http://google.com/\\', \\'id\\':\\'9999\\'}"
Ich wechselte auf externe Schnittstelle und alles funktioniert jetzt gut. Es ist jedoch nicht wegen der 64K-Grenze. Ich muss die 1encodeURIComponent1 ausprobieren, um so wie das geht. Danke für die Pro-Antwort! – Jacksonkr
Laut [caniuse] (http://caniuse.com/json) ist natives JSON für IE8 verfügbar – paleozogt