在pageload

时间:2015-09-06 12:43:42

标签: javascript jquery pageload

以前,我从这里得到了一个解决方案,解决了如何在页面加载时自动打开另一个链接的问题。我有这个代码来做到这一点     

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

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

dynLink 在正文中用作链接标记中的 target =“_ blank”。但这是在同一选项卡中加载所需的页面。不在新标签中。

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

我的意思是新TAB - 不是新窗口。

期待一些有效的解决方案。谢谢!

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

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

这是小提琴: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);
});

如果使用弹出窗口阻止程序,请小心。弹出窗口阻止程序可以防止标签打开。

这是小提琴:http://jsfiddle.net/qm9ss6s4/4/

答案 1 :(得分:0)

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

在页面加载时立即立即打开链接。

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

在页面加载时在新建标签中打开链接。

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

刷新相同的URL。

<meta http-equiv="refresh" content="5" />
5秒后使用meta标签

刷新另一个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');" />