Это происходит только в IE.Ускоряющий flash-браузер Internet Explorer, содержащий JSON
Я использую SWFObject и загрузка вспышки варов как таковой
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);
Все отлично работает во все браузере, но IE. Я проверил myVar
, и он входит в swf как {
и все. Я знаю, что он умирает на '
. Я пробовал поставить \
infront, затем попробовал \\
и продолжал добавлять одну косую черту, пока не добрался до \\\\\\\\
. Я даже перевернул все косые черты и попробовал один и тот же ритуал. Ничего.
Я могу получить строку, чтобы, наконец, пройти, с перевернутыми кавычками и с помощью двойных слэшей, но тогда мой парсер JSON злится, что в моей строке есть косые черты.
Вот пример того, что работает, но то, что является недопустимым в формате JSON:
"{\\'url\\':\\'http://google.com/\\', \\'id\\':\\'9999\\'}"
Я переключился на внешний интерфейс, и теперь все работает нормально. Однако это не из-за предела 64k. Я должен попробовать 1encodeURIComponent1, хотя и так, как это происходит. Спасибо за профессиональный ответ! – Jacksonkr
Согласно [caniuse] (http://caniuse.com/json), родной JSON доступен для IE8 – paleozogt