IE8でポップアップの奇妙な動作を発見しました。IE7とIE6では、ポップアップは次のようになります。alt
text http://img145.imageshack.us/img145/2318/normall.gif
しかし、IE8では、5〜6回「点滅」する奇妙な境界線があり、次のようになります。
代替テキストhttp://img16.imageshack.us/img16/4677/bugo.gif
このポップアップを表示するために使用されるコード:
Browser.prototype.showPopup = function(someHtml) {
...
var popup = doc.parentWindow.createPopup();
for(var n = 0; n < doc.styleSheets.length; n++) {
popup.document.createStyleSheet(document.styleSheets[n].href);
}
popup.document.body.innerHTML = "<div style=\"width:100%;height:100%;overflow:auto\">" + someHtml + "</div>";
popup.document.parentWindow.Form = Form;
popup.document.attachEvent("onselectstart", IEOnSelectStart);
popup.document.attachEvent("oncontextmenu", IEOnContextMenu);
...
popup.show(x, y, width, height, ctl);
doc.popup = popup;
}
私が調査したこと:
1。プロパティが変更されたイベントをサブスクライブしようとしました。ただし、境界線が変更されている間は起動しませんが、コードからこのプロパティを変更しようとすると正常に機能します。
2.100msごとにポップアップをクエリしてプロパティをダンプする単純なウォッチャーを作成しました。このようにして、誰かがbody.style.borderStyleを「inset」に設定し、数秒後に(styleNameではなく)outsetに設定することを発見しました。
3.すべてのJavaScriptコードを確認しましたが、インセット値またはアウトセット値に関する参照は見つかりませんでした。私はこれが私たちのコードが境界を変更するのではないことを99%確信しています。多分それは私たちの行動に対する反応としてのある種のIEセキュリティポリシーです。
何かアイデア-IE8のポップアップ境界線のそのような変更を引き起こす可能性があるものは何ですか?
PSまた、私はこの問題を私たちの環境の外で再現することはできません。
信頼できるゾーンのPPSサイト
PPPSIEモードは癖ですPPPPS同じページのいくつかのポップアップは正常に機能しますが、そのような動作につながる可能性のある違いを見つけることができません。