问题
Previously, I got a solution from here on how to open another link automatically on page load. I got this code to do that
window.setTimeout("autoClick()", 2000); // 2 seconds delay
function autoClick() {
var linkPage = document.getElementById('dynLink').href;
window.location.href = linkPage;
}
</script>
dynLink is used in the body as target="_blank" within link tag. But this is loading the desired page within the same tab. Not in a New Tab.
I want when this auto page load clicks the link with id=dynLink, the page opens in a new tab then to load in the same tab.
And I really means New TAB - NOT NEW WINDOW.
Looking forward to some working solution. Thanks!
回答1:
You can try this:
var newTab = window.open('http://google.at', '_blank');
newTab.location;
Here is the fiddle: http://jsfiddle.net/70kdacL4/310/
For your specific case:
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);
});
Be careful if you use a popup blocker. A popup blocker can prevent the tab from beeing opened.
Here is the fiddle: http://jsfiddle.net/qm9ss6s4/4/
回答2:
Following are some of the solutions using plain HTML and JavaScript. You may use based on your requirement and share if you have any other solution.
Open Link Immediately on Page Load.
<body onload="window.open('https://www.google.com/');">
Open link in New Tab on page load.
<body onload="window.open('https://www.google.com/', '_blank');">
Refresh the same URL Using meta tags.
<meta http-equiv="refresh" content="5" />
Refresh a different URL after 5 seconds Using meta tags.
<meta http-equiv="refresh" content="5;URL='https://www.google.com/'" />
Open different URL in New Tab using meta tags.
<meta http-equiv="refresh" content="5;URL=javascript:window.open('https://www.google.com/', '_blank');" />
来源:https://stackoverflow.com/questions/32423689/open-specific-link-in-new-tab-on-pageload