showModalDialog()
ユーザーがさまざまなソースからの記事をモーダルポップアップとして表示できるように、アプリケーションで使用しています。
FF と IE では正常に動作しますが、クロムではモーダルとして動作しません。親ウィンドウに移動して、その中の任意の要素をクリックすることができます。
IEやFFと同じように動かしたかった。
私はいくつかの回避策を見てきました
1)onfocus
親ウィンドウにイベントを設定し、子に再びフォーカスします。
<script type="text/javascript">
setInterval(checkFocus, 10);
var mywindow;
function openModal() {
var a = new Array;
a[0] = 1;
a[1] = 4;
mywindow = window.showModalDialog(myurl,
a, "dialogwidth: 1000; dialogheight: 700; resizable: yes;center : yes;");
}
function checkFocus() {
if (mywindow != null && mywindow != undefined) {
if (window.focus) {
mywindow.focus();
}
}
}
</script>
しかし、これは期待どおりに機能していないようです。
2)onblur
子ウィンドウにイベントを設定し、再びフォーカスする
このソリューションは、いくつかのオンライン ソースから読みました。子ウィンドウのみが自分のドメインからのみカスタマイズされたページである場合、このソリューションを適用できますが、子ウィンドウは任意の任意のページurl
から任意のウィンドウにできるためdomain
、私の場合は適用されません。
私はそれを機能させる必要があります、誰かがこれについて私に提案できますか??