我有以下代码,我需要超时功能,它可以工作,但打开一个新的选项卡或窗口不是。
如何更改代码,以便在五秒后重定向时将用户转发到另一个站点,但是在新窗口或标签中?
$('#google').click(function(){
setTimeout(function() {
window.location.href = "https://google.com", '_blank'
}, 5000);
});

答案 0 :(得分:4)
要打开新窗口,您必须调用window.open()
功能。
所以你的代码会变成这样:
$('#google').click(function(){
setTimeout(function() {
window.open('https://google.com') //this by default opens a new window
}, 5000);
});
<强>更新强> 这可能会导致浏览器阻止弹出窗口(或打开新选项卡)。如果要打开新选项卡,则必须在用户执行单击事件时立即执行此操作,任何延迟都将导致阻止弹出窗口。