window.openをモーダルぽくしたいです。
親画面を表示しようとしたときに子画面にフォーカスが当たる、のは良いのですが、
他の画面(メモ帳など)を表示したときも子画面が前面に表示されてしまいます。
この問題を解消する方法はないでしょうか?
showModalDialogではこの問題は起きませんが将来的に使用できなくなるそうなので。
また、できればJava Scriptのみで実装したいです。(JQuery等の環境準備が必要なものは使用したくない)
年末のお忙しい時期とは思いますがよろしくお願いいたします。
下記のサイト様を参考にしています。
「window.openでモーダルぽくする」https://qiita.com/bassyaroo/items/6566d06e27fdd970dc01
html
1openWindowTest.html ←ファイル名 2 3<!DOCTYPE html> 4<html> 5<head> 6<title>windowOpenTest</title> 7</head> 8<body> 9<script type="text/javascript"> 10 11function windowOpen() { 12 13// 適当に高さを指定してwindow.openでポップアップ画面を開く 14var openWindow = window.open('openWindowTest.html','_blank','width=400, height=300'); 15// 親画面にシェードをかける処理を実施 16 17 18// 1秒間隔で子画面の状態を監視 19var interval = setInterval(function() 20{ 21 // 子画面が閉じていたら 22 if(!openWindow || openWindow.closed) 23 { 24 // 親画面のシェードを外す処理 25 26 27 // Intervalを破棄 28 clearInterval(interval); 29 // 画面が起動していたら 30 } 31 else 32 { 33 // 子画面にフォーカスを当てる 34 if(!openWindow.document.hasFocus()) 35 { 36 openWindow.focus(); 37 } 38 } 39},1000); 40 41} 42</script> 43<input type="button" value = "open", onclick='windowOpen();'> 44 45</body> 46</html>