我正在尝试在新选项卡中打开URL ,而不是弹出窗口。我已经看到相关的问题,其中的回答看起来像:
window.open(url,'_blank');
window.open(url);
但是它们都没有为我工作,浏览器仍然试图打开一个弹出窗口。
这是一招,
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/
作者无法做的任何事情都可以选择在新选项卡中打开而不是在新窗口中打开。这是用户偏好 。
CSS3 提出了target-new ,但规范被放弃了 。
反之则不然; 通过在window.open
的第三个参数中指定窗口的尺寸,可以在首选项用于选项卡时触发新窗口。
如果实际的 click 事件没有发生, 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 调用。