2009-04-01 4 views
1

jquery(htmlページにstartup.jsを含める)を使用してページを生成すると、flexを使用してクッキーにアクセスできません。jqueryでページを生成するとフレックスでクッキーを読み取ることができない

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()を含み、これは "hello"を返します。

I ogra.swf関数ExternalInterface.callを関数testに呼び出し、私の答えは不幸にもnullです。

私はstartup.jsをhtmlとbodyとobjectとembed(すべての引用符のためにここに投稿するのが難しい)で変更します。そして、私はstrをdocument.writeします。私は自分のクッキーに完全にアクセスできます。

あまりにも彼らは私にstartup.jsをjqueryに書き込むように命じました。

私のフレックスアプリケーションで私のクッキーにアクセスできない理由は誰にもありますか?

もちろん、jquery stuffはIEではなくFFで動作します。

答えて

0

AFAIK FlashアプリケーションはCookieを送信しません。これは、NPAPIバイナリがブラウザを経由せずに直接接続するため、Flashの既知の制限です。

これは、「Flash Cookie Bug」と呼ばれています。 SWFUploadの既知の問題 http://demo.swfupload.org/Documentation/#knownissues

いくつかの回避策を試すこともできます。 Javascriptを使用してdocument.cookieを解析し、セッションCookieをflashvarsでFlashに挿入し、POST/GET経由でセッションCookieを送信します。

「Cookie」と呼ばれるSWFUploadプラグインも同じことを行います。 http://demo.swfupload.org/Documentation/#plugins