Как я могу получить доступ к cookie по flex? - PullRequest
0 голосов
/ 09 августа 2010

Я сделал виджет блога в flex. Мне нужно манипулировать cookie в моем виджете, который добавляется в блог моего пользователя. Но при некоторых обстоятельствах некоторые хосты блогов запрещают доступ к javascript, поэтому я не могу получить доступ к cookie в flex с помощью externalInterface. Кто-нибудь знает, как получить доступ к cookie в этом контексте? спасибо.

Ответы [ 3 ]

1 голос
/ 09 августа 2010

Вам необходимо установить allowScriptAccess равным "*" в вашем коде для встраивания. К сожалению, вы не можете разрешить доступ для каждого домена, так что это все или ничего. Однако владелец блога может не захотеть предоставлять эту привилегию, и в этом случае вы просто не можете рассчитывать на доступ к Javascript с вашего swf.

PS: если вам разрешено обслуживать SWF из того же домена с предоставленным доступом к Javascript, вы можете использовать его в качестве прокси для отправки данных, полученных с помощью JavaScript, в SWF, обслуживаемый из другого домена. Не уверен, что это лучшая идея.

0 голосов
/ 09 августа 2010

Мне любопытно, откуда исходит печенье.Если ваше приложение Flex создает cookie с помощью SharedObject, вам не нужен JavaScript для доступа к нему.Если файл cookie исходит из другого приложения / источника, то, насколько мне известно, единственный реальный способ получить к нему доступ - это метод внешнего интерфейса javascript.

0 голосов
/ 09 августа 2010

Мой ответ: вы не можете получить доступ к файлам cookie браузера из Flash Player.Использование ExternalInterface является своего рода хаком.

Судя по ошибке, ваш SWF-файл обслуживается из другого домена, чем веб-страница, на которой он находится.Это правда?Если так, то это является причиной ошибки.Разве это не тот же подход, который используют " Cross Site Scripting "?

Вы можете разрешить JavaScript доступ к своей обертке HTML из другого домена, указав параметр allowScriptAccess всегда в коде встраивания SWF.Больше информации в Adobe документах .

Вы можете попробовать добавить файл crossdomain.xml на основной сайт, хотя я не думал, что это даст эффект, потому что я уверен, что использование ExternalInterface не является проверкой в ​​случае crossdomain.xml.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...