2009-04-01 3 views
1

Когда я сгенерирую страницу с jquery (включив startup.js на странице html), я не могу получить cookie через flex.сгенерировать страницу с jquery не может прочитать cookie с flex

startup.js

function init_element() { 
$(document).ready(function(event){ 
    $("#accountBarDiv").css("position", "absolute"); 
    $("#accountBarDiv").css("left", "0px"); 
    $("#accountBarDiv").css("background-color", "transparent");  
    $("#accountBarDiv").append("<iframe id=\"ifrId\" style=\"width:10px;height:10px\"></iframe>"); 
    $("#accountBarDiv").append("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\" width=\"230px\" height=\"70px\" id=\"ogra2\"> <param name=\"movie\" value=\"http://localhost/ogra/bin/ogra.swf\"/>  <param name=\"allowscriptaccess\" value=\"always\"/>  <param name=\"wmode\" value=\"transparent\"/>    <embed src=\"http://localhost/ogra/bin/ogra.swf\" quality=high width=\"230px\" height=\"70px\" name=\"ogra2\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"> </embed></object>"); 

});} init_element(); 

Я также включил script.js. Он содержит функцию test(), и это вернет «привет».

I ogra.swf Я вызываю возврат ExternalInterface.call к функциональному тесту, и мой ответ, к сожалению, недействителен.

Когда я меняю свой startup.js на str с html и телом, а объект и вставляем (трудно опубликовать его здесь из-за всех кавычек) И я просто document.write str. Я могу получить доступ к своему файлу cookie.

Жаль, что они приказали мне написать startup.js в jquery.

Кто-нибудь есть идеи, почему я не могу получить доступ к моему файлу cookie в моем приложении flex?

И, конечно же, работа jquery работает в FF не в IE.

ответ

0

Приложения AFAIK Flash не отправляют файлы cookie. Это известное ограничение Flash, потому что NPAPI-бинар делает соединение сам по себе напрямую, не проходя через браузер.

Это известно как «ошибка Flash Cookie», указанная в, например. Известные проблемы SWFUpload. http://demo.swfupload.org/Documentation/#knownissues

Возможно, вы попытаетесь найти способ обхода решения, например. используйте Javascript для разбора document.cookie и введите сессионный файл cookie во Flash с flashvars, затем отправьте файл cookie сеанса через POST/GET.

Плагин SWFUpload под названием «Cookies» делает то же самое. http://demo.swfupload.org/Documentation/#plugins

Смежные вопросы