SSL + fancybox + iframe + IE6でセキュリティ警告が出てしまう


1こんばんはっ
最近はtwitterが流行ってますね、私の中でも流行ってますよっ!
このサイトのデザインを変えたあかつきには、twitterやってますってリンクはろうと思います!
いつかきっとっ

ちょっとfancyboxを触ることがあったのですが、その時にIE6でセキュリティ警告が出てはまったのでメモ。
iframe表示を使わなければ多分出ないと思うのですが、ほぼ完成した状態からIE6のためだけにデザインばらすというのもセツナイですよね。


どうも、SSL環境下で非表示(display:none)されているiFrameをjQueryのshow()を使って表示しようとすると、IE6がなぜかセキュリティ警告を出すようです。
show()の内部がどういう処理をしているのかまで知らないのですが、show()の代わりに
document.getElementById("hogehgoe").style.display = "inline";

$("#hogehoge").css("display","inline");
としてあげれば警告は出ません。

なので、jquery.fancybox.jxの310行目付近を
$("#fancy_outer").css(itemOpts).fadeIn("normal", function() {
_finish();
});
 ↓
if (IE6) {
$("#fancy_outer").css(itemOpts);
$("#fancy_outer").css("display","inline");
_finish();
}
else
{
$("#fancy_outer").css(itemOpts).fadeIn("normal", function() {
_finish();
});
}
458行目付近を
$("#fancy_frame").show();
 ↓
if (IE6) $("#fancy_frame").css("display","block");
else $("#fancy_frame").show();
としてあげれば大丈夫でした。

ちなみに、確認したバージョンは

jQuery:1.3.2
fancybox:1.2.6

です。

コメントを残す