4

私は問題に直面しています.window.openメソッドを使用してウィンドウを開くことができます.ウィンドウの高さと幅を指定すると、ポップアップウィンドウとして開きます.高さまたは幅にパラメータが指定されていない場合,新しいタブで開きます。

開いたウィンドウがポップアップまたは新しいタブであると判断できるプロパティはありますか?

ありがとうマルコムX

4

3 に答える 3

4

編集:私はこれをもう少し調べています。

これらのウィンドウには異なる「タイプ」はなく、単に異なるオプションがあるようです。それがタブかウィンドウかを確認するために私が見つけた方法は、確認することwindow.menubar.visibleです。フルで通常のウィンドウであるタブの場合はtrueであり、ポップアップの場合はメニューが非表示になっているため ですfalse。についても同様window.toolbar.visibleです。

少なくとも FF と Chrome で動作します。残念ながらIEにはありません。(テストは、私がインストールしたバージョンであるIE8で行われました。もちろんテスト用です..)

例:

if(window.menubar.visible) {
    //Tab
} else {
    //"Child" Window
}

このスレッドを見つけました: Internet Explorer 8 JS エラー: 'window.toolbar.visible' が null またはオブジェクトではありません


幅と高さを指定する場合は、nameパラメーターも指定する必要があることを意味します。targetこれは、aタグが使用されるのと同じ方法で使用でき、デフォルトは_blankです。

幅と高さを指定しない場合は、指定もしないと想定されるため、新しいタブを意味する でname開かれます。name=_blank

幅と高さを指定する場合、カスタムを設定していますnameか? これを行うと、子ウィンドウが表示されます。名前または空の文字列を名前として指定する場合、name:_blankそれを新しいタブにしたい場合は試してみることをお勧めします。

名前を付けてウィンドウを開いた場合はwindow.parent、子ウィンドウからいつでも実行できます。で開いた場合_blank、取得できるかどうかわかりませんwindow.parent

w3schools ウィンドウを開く

于 2013-02-19T09:55:34.207 に答える
0

質問の意味がよくわかりませんが、私が理解していることから、HTMLターゲット属性を使用することをお勧めします。

_blank  Opens the linked document in a new window or tab
_self   Opens the linked document in the same frame as it was clicked (this is default)
_parent     Opens the linked document in the parent frame
_top    Opens the linked document in the full body of the window

framenameリンクされたドキュメントを名前付きフレームで開きます

出典:http ://www.w3schools.com/tags/att_a_target.asp

于 2013-02-19T09:52:43.770 に答える
0

焦点が合っていないかどうかを確認することで、onblur を使用してそれを検出できます。

<html>
<head>
<script>
function newTab() {
  document.getElementById("demo").innerHTML = "New tab opened!<br><br>refesh this page to recheck ";
}
window.onblur = newTab;
</script>
</head>
<body>
<div id="demo">
Open a new tab and then check this page
</div>
</body>
</html>
于 2020-07-03T08:51:34.870 に答える