在页面加载时在新标签页中打开特定 link

Open specific link in new tab on pageload

之前,我从这里得到了关于如何在页面加载时自动打开另一个 link 的解决方案。我得到了这个代码来做到这一点

window.setTimeout("autoClick()", 2000); // 2 seconds delay

function autoClick() {
var linkPage = document.getElementById('dynLink').href;
window.location.href = linkPage;
}
</script> 

dynLink 在正文中用作 link 标签内的 target="_blank"。但这是在同一个选项卡中加载所需的页面。不在新标签中。

我希望当此自动页面加载单击带有 id=dynLink 的 link 时,页面会在新选项卡中打开,然后在同一选项卡中加载。

我的意思是新标签 - 不是新标签 WINDOW。

期待一些可行的解决方案。谢谢!

你可以试试这个:

 var newTab = window.open('http://google.at', '_blank');
 newTab.location;

这里是fiddle:http://jsfiddle.net/70kdacL4/310/

针对您的具体情况:

HTML:

<a id="link" href="http://www.google.at" target="_blank">TestLink</a>

JavaScript:

$(document).ready(function(){
    window.setTimeout(function(){
        var link = document.getElementById("link").href;
        var newTab = window.open(link, '_blank');
    }, 5000);
});

使用弹出窗口拦截器时要小心。弹出窗口拦截器可以防止标签页被打开。

这里是fiddle:http://jsfiddle.net/qm9ss6s4/4/

以下是一些使用普通 HTMLJavaScript 的解决方案。您可以根据您的要求使用,如果您有任何其他解决方案,请分享。

在页面加载时Link立即打开。

<body onload="window.open('https://www.google.com/');">

在页面加载时在新标签中打开link。

<body onload="window.open('https://www.google.com/', '_blank');">

刷新相同的URL使用meta标签。

<meta http-equiv="refresh" content="5" />

使用 meta 标签在 5 秒后刷新 不同的 URL。

<meta http-equiv="refresh" content="5;URL='https://www.google.com/'" />

使用 meta 标签在 新标签页 中打开不同的 URL。

<meta http-equiv="refresh" content="5;URL=javascript:window.open('https://www.google.com/', '_blank');" />