使用JavaScript在新标签(而不是新窗口)中打开一个URL
我试图在新标签中打开一个URL,而不是一个弹出窗口。 我已经看到相关问题,其答案如下所示:
window.open(url,'_blank');
window.open(url);
但是他们都没有为我工作,浏览器仍然试图打开一个弹出窗口。
作者没有办法可以选择在新选项卡中打开而不是在新窗口中打开。 这是用户偏好。
CSS3提出了新的目标,但规范已被放弃。
相反是不正确的。 通过在window.open
的第三个参数中指定窗口的尺寸,当首选项是制表符时,可以触发一个新窗口。
这是一个窍门,
function openInNewTab(url) {
var win = window.open(url, '_blank');
win.focus();
}
在大多数情况下,这应直接发生在链接的onclick
处理程序中以防止弹出窗口阻止程序以及默认的“新窗口”行为。 你可以这样做,或者通过添加一个事件监听器到你的DOM
对象。
<div onclick="openInNewTab('www.test.com');">Something To Click On</div>
http://www.tutsplanet.com/open-url-new-tab-using-javascript-196/
如果实际的点击事件没有发生, window.open()
将不会在新选项卡中打开。 在给出的例子中,URL正在实际的点击事件中打开。 如果用户在浏览器中有适当的设置,这将起作用 。
<a class="link">Link</a>
<script type="text/javascript">
$("a.link").on("click",function(){
window.open('www.yourdomain.com','_blank');
});
</script>
同样,如果您尝试在click函数中执行Ajax调用并希望在成功时打开窗口,请确保您正在使用async : false
选项集进行Ajax调用。
上一篇: Open a URL in a new tab (and not a new window) using JavaScript