0

私はこのようなシナリオを持っています。

ウィンドウ1->開く->モーダルポップアップ->開く->ウィンドウ2。

モーダルポップアップは、ウィンドウ1からshowmodaldialogメソッドを使用して起動されます。モーダルポップアップから、「window.open」メソッドを使用して通常のウィンドウ(ウィンドウ2)が起動されます。ウィンドウ2を起動するself.close()と、ポップアップウィンドウのjavascriptを使用してモーダルポップアップが閉じられます。

これで、開いているウィンドウはウィンドウ1とウィンドウ2になります。ウィンドウ1のフォーカスをウィンドウ2から転送したいのですが、とにかくこれを実行できますか?

職場のセキュリティ制限のため、他のプログラミングコードを削除しました。ただし、以下に示すのは、上記で説明したシナリオのコードの要点です。この問題を解決するためにできることがあれば教えてください。

以下は私のコードです:

  • 親ウィンドウ(ウィンドウ1):

    <html>
     <head><title> Parent Window <title>
      <script> 
          function show_popup(){ 
          base_win=window; 
          var win1=window.showModalDialog("Child_Window 1.html",base_win,"dialogHeight:500px;dialogWidth:500px;dialogLeft:300");
           } 
       </script> 
      </head>
      <body> 
          This is the parent Window 
          <input type="button" id="button1" value="click this" onclick="javascript:show_popup();">
      </body> 
    </html>
    
  • モーダルポップアップウィンドウ:

    <html>
     <head>
       <title>Child Window 1</title>
       <script> 
             function show_window(){ 
             var win1=window.open("Child_Window 2.html","");
             self.close();
              }
       </script>
      </head>
      <body> 
          This is the Child Window 1 
           <br>
           <br>
           <input type="button" id="but1" value="click this" onclick="javascript:show_window();">
       </body>
     </html>
    
  • 子ウィンドウ(ウィンドウ2):

    <html>
      <head>
         <title>Child Window 2</title>
          <script> 
              function goto_parent(){
               var w = window.opener; 
               window.opener = self; 
               w.focus(); 
               } 
           </script> 
         </head> 
         <body> 
             This is the child Window 
              <input type="button" id="but1" value="parent window" onclick="javascript:goto_parent();">
         </body>
     </html>
    
4

1 に答える 1

0

ウィンドウ1は、ModalDialogが閉じられない限り機能しません。したがって、ベースウィンドウの次のコードの直後に3番目のウィンドウのインスタンスを呼び出します-

 var win1=window.showModalDialog("Child_Window 1.html",base_win,"dialogHeight:500px;dialogWidth:500px;dialogLeft:300");

ModalDialogを閉じると、ベースウィンドウは目的のウィンドウのフォーカスを要求します。

于 2013-08-12T07:02:25.000 に答える