web-dev-qa-db-ja.com

JavaScript / jQuery-ポップアップウィンドウで現在のリンクを開く

<a href="http://google.com">Link</a>

ポップアップウィンドウでこのリンクを開くにはどうすればよいですか?ブラウザがブロックするのを防ぐ

19
Alex

「新しいウィンドウ」と「ポップアップ」があります。 _target=_blank_を使用すると、新しいウィンドウで開きますが、最新のブラウザではデフォルトで新しいウィンドウが新しいtabsに配置されます。それはあなたが望むものではないように聞こえます。

実際のポップアップでは、window.open()が必要です。特定の幅と高さを含めるようにしてください。そうしないと、一部のブラウザーは新しいウィンドウを新しいタブに配置します。ダリンの例は私には良さそうです。

ポップアップのブロックに関して、ブラウザが取る一般的なアプローチは、ser actionによって開始されるポップアップは許可される(クリックなど)一方で、このようにスクリプトを通じて自発的に開始されるポップアップはブロックされることです:

_<script type="text/javascript">
    window.open("http://www.google.com/", "Google", "width=500,height=500");
</script>
_

ただし、広告のブロックは拡大する戦争であるため、ポップアップが開くかどうかを確認することはできません。ポップアップがブロックされている場合、window.open呼び出しはnullを返します。だから私はこのようにダレンの例を修正します:

_<a href="http://www.google.com/"
    onclick="return !window.open(this.href, 'Google', 'width=500,height=500')"
    target="_blank">
_

ポップアップがブロックされている場合、onclickはtrueを返します。これは、新しいウィンドウまたはタブで開くことでクリックしたリンクをたどります。これはフォールバックであるため、少なくともコンテンツにアクセスできます(きれいでない場合)。

64
jpsimons
<a href="http://google.com" onclick="window.open(this.href, 'windowName', 'width=1000, height=700, left=24, top=24, scrollbars, resizable'); return false;">Link</a>
9
Darin Dimitrov

これにより、新しいウィンドウが開きます。

<a href="http://google.com" target="_blank">Link</a>
2
Codler

jQuery:

<script>
$('#button2').live("click",function(e){    
  window.open("http://www.google.com", "yyyyy", "width=480,height=360,resizable=no,toolbar=no,menubar=no,location=no,status=no");
return false;
});
</script>

<a href="#" id="button2" ><img src="images/online.png"></a><br/>Online
1
YumYumYum