JavaScript / jQuery - 在弹出窗口中打开当前链接

时间:2010-07-10 13:18:04

标签: javascript jquery popup

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

如何在弹出窗口中打开此链接?并阻止浏览器阻止它

5 个答案:

答案 0 :(得分:64)

有“新窗口”,还有“弹出窗口”。使用target=_blank将在新窗口中打开,但现代浏览器默认情况下会在新的标签中添加新窗口。听起来不像你想要的那样。

对于您想要window.open()的实际弹出窗口,并确保包含一些特定的宽度和高度,否则某些浏览器仍会将新窗口放在新选项卡中。达林的例子对我来说很好。

对于弹出窗口阻止,浏览器采用的一般方法是允许由用户操作启动的弹出窗口(例如单击),而阻止通过脚本自发启动的弹出窗口:

<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,它会在新窗口或标签中打开它后面的链接。这是一个后备,所以至少内容是可访问的(如果不是很漂亮)。

答案 1 :(得分:9)

<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>

答案 2 :(得分:2)

这将打开一个新窗口。

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

答案 3 :(得分:1)

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

答案 4 :(得分:-1)

您可以尝试以下代码,

<script type="text/javascript">
     window.open(location.href, "Google", "width=500,height=500");
</script>