setTimeout() 无法打开新 url
setTimeout() isn't working to open new url
我正在尝试以不同的时间打开新的 URL,但它不起作用
<script type="text/javascript">
setTimeout(function() {window.location="http://google.com";}, 2000);
setTimeout(function() {window.location="http://youtube.com";}, 5000);
</script>
这个脚本只能打开第一个link。
有什么想法吗?
执行第一行后,您将被重定向到 http://google.com。此时您的页面已更改,您为 youtube.com 编写的脚本不会出现在该页面上,因为这是一个新页面。
window.location
将设置您从中执行此脚本的浏览器 window 的路径。在这种情况下,您导航到 http://google.com,然后您的第二个超时将永远不会执行。
为了解决这个问题,您可以尝试在不同的选项卡或 window 中使用 window.open
和 _blank
参数打开 URL。
<script type="text/javascript">
setTimeout(function() {window.open("http://google.com", "_blank")}, 2000);
setTimeout(function() {window.open("http://youtube.com", "_blank")}, 5000);
</script>
您可以(生成)在新标签页中打开链接。
注意:选项卡不会在此嵌入的代码段中打开,因为沙盒不允许弹出窗口。
// Adapted from:
const openTab = (href, target = '_blank') => {
const link = Object.assign(document.createElement('a'), { href, target });
document.body.append(link);
link.click();
link.remove();
console.log(`Opening: ${href}`);
}
setTimeout(() => openTab('http://google.com'), 2000);
setTimeout(() => openTab('http://youtube.com'), 5000);
我正在尝试以不同的时间打开新的 URL,但它不起作用
<script type="text/javascript">
setTimeout(function() {window.location="http://google.com";}, 2000);
setTimeout(function() {window.location="http://youtube.com";}, 5000);
</script>
这个脚本只能打开第一个link。 有什么想法吗?
执行第一行后,您将被重定向到 http://google.com。此时您的页面已更改,您为 youtube.com 编写的脚本不会出现在该页面上,因为这是一个新页面。
window.location
将设置您从中执行此脚本的浏览器 window 的路径。在这种情况下,您导航到 http://google.com,然后您的第二个超时将永远不会执行。
为了解决这个问题,您可以尝试在不同的选项卡或 window 中使用 window.open
和 _blank
参数打开 URL。
<script type="text/javascript">
setTimeout(function() {window.open("http://google.com", "_blank")}, 2000);
setTimeout(function() {window.open("http://youtube.com", "_blank")}, 5000);
</script>
您可以(生成)在新标签页中打开链接。
注意:选项卡不会在此嵌入的代码段中打开,因为沙盒不允许弹出窗口。
// Adapted from:
const openTab = (href, target = '_blank') => {
const link = Object.assign(document.createElement('a'), { href, target });
document.body.append(link);
link.click();
link.remove();
console.log(`Opening: ${href}`);
}
setTimeout(() => openTab('http://google.com'), 2000);
setTimeout(() => openTab('http://youtube.com'), 5000);