SSLサイトでFLASHとキャッシュの対応
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=乱数
ということになります。
コメントする