SSLサイトでFLASHとキャッシュの対応

| | コメント(0)

HTTPでアクセスした場合には普通に動くのに、HTTPSでアクセスすると不具合がおこることがあります。 1)埋め込みタグのhttpをhttpsにする。

<object>と<embed>に記述されている「codebase="http://download.macromedia.com/〜」と「pluginspage="http://www.macromedia.com/」を「codebase="https://download.macromedia.com/〜」と「pluginspage="https://www.macromedia.com/」にします。 2)send_lv.sendAndLoadを使っているときにIEでおかしくなる。 IEのキャッシュとか、FLASHのキャッシュっていろいろ変な挙動多いから相互作用?? 制作の構成によると思いますが、下記の[1]〜[3]をやれば無事に動きました。 構成はphpのページの中でswfを読み込んでおり、swfからphpへデータを取りにいっています。

[1]phpでのキャッシュを防ぐ session_cache_limiter('private_no_expire'); [2]ページからswf読み込み時のキャッシュを防ぐ swfの読み込みに乱数をつける graph.swf?r=<php $rda = rand(0,10000); print$rda ?>
[3]swfからphpデータ読み込み時のキャッシュを防ぐ var ran = Math.random(10000); var send_lv:LoadVars = new LoadVars(); send_lv.answer = 1; send_lv.r = ran; var load_lv:LoadVars = new LoadVars(); load_lv.onLoad = function(success) { _root.status = load_lv.status; }; send_lv.sendAndLoad("setdata.php", load_lv, "GET"); この場合、 setdata.php?answer=1&r=乱数 ということになります。

コメントする