在HTML中为target="_blank"打开新窗口

45
<a href="facebook.com/sharer" target="_blank" >Share this</a>

当用户点击时,我该如何将此内容在新窗口中指定宽度和高度显示?当前代码在 Firefox 中只会打开新标签页而不是新窗口。


1
在 Firefox 中,它会在新标签页中打开,因为大多数用户讨厌弹出窗口。在打开弹出窗口之前,请记住这一点。 - bobince
3个回答

134

要在一个新窗口中打开,并设置尺寸等属性,您需要调用JavaScript函数,因为target="_blank"不能让您调整大小。一个示例是:

<a href="http://www.facebook.com/sharer" onclick="window.open(this.href, 'mywin',
'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" >Share this</a>

3
请将“javascript:void(0);”替换为更短的“javascript:;”。 - ant
20
这对于可访问性、可用性和SEO非常糟糕。永远不要使用javascript:。为了防止#链接滚动到顶部,请在click事件处理程序中只使用return false。但是,如果一个链接没有正确的href,这表明你正在做一些错误的事情。可以为无操作的按钮添加 button 元素,或者在需要链接到实际URL的情况下,将其放入href中并从处理程序中读取它。例如:<a href="http://www.facebook.com/sharer" onclick="open(this.href, '_blank', '...'); return false;">...</a> - bobince
@bobince,你说这是个坏主意,那我在哪里可以找到更多的信息呢?顺便说一下,我没有给你点踩。 - ant
5
谢谢你,@bobince。除了你严厉的-1之外,我猜我从你那里学到了一些东西,并且让我的例子更好了。 - Marcos Placona
4
现在那个严厉的负一已经消失了,答案得到了改善 :-) - bobince
显示剩余7条评论

3

你不能通过这种方式来影响标签页或窗口类型和尺寸。你需要使用JavaScript的window.open()方法来实现。


2
您不能通过裸露的a标签来控制窗口。但是,您可以将标签的onclick处理程序连接到正确参数的window.open(...)调用。请参阅此处的示例: https://developer.mozilla.org/En/DOM/Window.open 我仍然认为您不能直接强制窗口覆盖选项卡-这取决于浏览器和用户的设置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接