13

クリックでウィンドウを開きたいのですが、現在のウィンドウの後ろで開きたい、または新しいウィンドウが開いたときに最小化する必要があります。関数を作成しましたが、実際には機能しませんでした。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function wn(){
  var mm=window.open('http://www.google.com','newwindow','width=200, height=200', "_blank");
}
</script>
</head>
<body>
<a href="#" onclick="wn()">click</a>
</body>
4

7 に答える 7

20

編集

親ウィンドウのHTML

<script language="JavaScript" type="text/javascript">
function openPopUP() {
  window.open('mywindow.html','NewWin',
            'toolbar=no,status=no,width=350,height=135')
}
</script>

<body onLoad="openPopUP();">
or
<a href="javascript:openPopUP();">Click to open popup</a>

子ウィンドウ、つまりポップアップウィンドウファイル

以下のスクリプトは子ウィンドウにあるはずです。子ウィンドウが開き、1秒後に自動的に非表示になります。1000メソッドで指定された値setTimeoutは、子ウィンドウが開かれるミリ秒単位の期間です。子ウィンドウを長く開きたい場合は、このタイムアウト期間を長くすることができます。

<body onLoad="setTimeout('window.blur()', 1000);" 
          onFocus="setTimeout('window.blur()', 1000);">

onloadこれはあなたのために働くかもしれません:あなたの子ウィンドウのイベントでこのコードの行を追加してください...

window.parent.opener.focus(); 
于 2012-07-10T05:40:12.547 に答える
13
popunder = window.open('http://www.google.com','newwindow','width=200, height=200', "_blank");
popunder.blur();
window.focus();
于 2012-07-12T11:50:57.217 に答える
6

このようなことを試してください。

window.open(url); 
self.focus();
于 2012-07-13T02:22:30.767 に答える
5

それはセキュリティの問題を引き起こしますが、私はそれを行う方法の1つは次のとおりだと思います:

popup = window.open('http://www.google.com', 'newwindow',  "_blank");
popup.blur();

これはIEでのみ機能します。他のブラウザの場合、セキュリティレベルを最小に設定する必要があります。

于 2012-07-17T09:52:20.850 に答える
3
popunder = window.open('your_site_url','newwindow','width=500, height=500', "_blank");
popunder.blur();
window.focus();

または単に

window.open(url); self.focus();
于 2012-07-18T06:11:18.657 に答える
2

実際のポップアンダー機能が必要な場合は、https://github.com/hpbuniat/jquery-popunderでそれを処理するための優れたjQueryプラグインがあります。

さまざまな手法を組み合わせて使用​​し、さまざまなブラウザでそれを実現します。すべてのブラウザが同じように処理できるわけではありませんが、結果は非常に似ています。

現在のブラウザの互換性は次のようにリストされています:(最終更新日:2018年4月)

  • Mozilla Firefox 3-57
  • Google Chrome 10-62
  • Microsoft Internet Explorer 6-11--MSIE6-8にはjquery1.xが必要です
  • Apple Safari 5
于 2014-07-17T18:57:30.363 に答える
1

最後に、それはクロームブラウザでのみ私のために働いていました。親ウィンドウに次のコードを追加します。

<script type="text/javascript" language="javascript"> 
    function popWindow() 
    { 
    var popupo = window.open("popup.html", 'newwindow','toolbar=no,status=no,width=650,height=450', "_blank");
    popupo.moveTo(0, 0);
    popunder.blur();
    window.focus();
    } 
</script>

このコードを子ウィンドウ本体のonloadイベントに次のように追加します

<body onLoad="setTimeout('window.blur()', 1000);" onFocus="setTimeout('window.blur()', 1000);"> 
于 2015-12-04T11:21:49.380 に答える