web-dev-qa-db-ja.com

子ウィンドウを上に保つ方法は?

私は使っている window.open親ウィンドウから子ウィンドウを開きます。ユーザーが親ウィンドウにエントリを作成するときに子ウィンドウを参照できるように、子ウィンドウを一番上に置いておきたいです。これはできますか?現在Firefoxを使用していますが、すべてのブラウザで動作する場合はボーナスになります。

8
Andrew Fox

新しいウィンドウを開く代わりに popup div を使用するのはどうですか?

3
3dgoo

このポップアップレイヤーも適切です: DOMWindowDemo

3
jikey
<html>
    <script language="JavaScript">
    <!--
    function openWin(){
      var myBars = 'directories=no,location=no,menubar=no,status=no';
      myBars += ',titlebar=no,toolbar=no';
      var myOptions = 'scrollbars=no,width=600,height=400,resizeable=no,top=10, left=10';
      var myFeatures = myBars + ',' + myOptions;
      var newWin = open('test.html', '', myFeatures);
      newWin.document.close();
      newWin.focus();
    }
    -->
    </script>
    <body>
    <form>
      <b>Click the following button to open a new window: </b>
      <input type=BUTTON value="Open" onClick='openWin()'>
    </form>
    </body>
</html>
    </html>
0
Hemant

はい、子ウィンドウの本体にonBlur = "self.focus()"を指定したこのコードでこれを行うことができます

    //Parent page...
    <html>
      <body>
      <a href="#" onClick="window.open('two.html','sdvwsv','width=200,height=200');">here...</a>
         </body>
     </html>


   //Child page...
         <html>
          <body onBlur="self.focus();">
               here...
              </body>
          </html>
0
Manish Nagar
<html>
    <script language="JavaScript">
    <!--
    function openWin(){
      var myBars = 'directories=no,location=no,menubar=no,status=no';

      myBars += ',titlebar=no,toolbar=no';
      var myOptions = 'scrollbars=no,width=400,height=200,resizeable=no,top=10, left=10,';
      var myFeatures = myBars + ',' + myOptions;
      var myReadme = 'This is a test.'

      var newWin = open('', 'myDoc', myFeatures);

      newWin.document.writeln('<form>');
      newWin.document.writeln('<table>');
      newWin.document.writeln('<tr valign=TOP><td>');
      newWin.document.writeln('<textarea cols=45 rows=7 wrap=SOFT>');
      newWin.document.writeln(myReadme + '</textarea>');
      newWin.document.writeln('</td></tr>');
      newWin.document.writeln('<tr><td>');
      newWin.document.writeln('<input type=BUTTON value="Close"');
      newWin.document.writeln(' onClick="window.close()">');
      newWin.document.writeln('</td></tr>');
      newWin.document.writeln('</table></form>');
      newWin.document.close();
      newWin.focus();
    }
    -->
    </script>
    <body>
    <form>
      <b>Click the following button to open a new window: </b>
      <input type=BUTTON value="Open" onClick='openWin()'>
    </form>
    </body>
0
Hemant

私はこれと長い間取り組んできました。 FFのバグのようですが、新しいウィンドウが開いた後、それをクリックすると、フォーカスが移動して一番上に表示されることに気付きました。ただし、window.focus()を呼び出すと機能しなかったため、発生が早すぎたと思います。

そのため、新しいウィンドウコードで、ページの下部に追加しました

setTimeout(function(){window.focus()},100);

確かな練習のようには感じませんが、それが機能する必要がある場合は... 100mSecは私のシステムで機能する最低のようです。

0
John Page