You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript实现多链接跳转?现有代码仅跳转至一个链接

问题分析与解决方案

你的代码只跳转一个链接有两个核心问题:

  1. 语法错误:第二个setTimeout的字符串参数没正确闭合单引号,导致代码执行失败
  2. 逻辑错误:使用location.href会替换当前页面,即便修复语法,同时触发的跳转也只会执行最后一个,因为页面跳转后后续代码会终止运行

修正后的代码

要实现点击后打开多个链接,应该用window.open()来创建新窗口,同时修复语法问题并改用函数作为setTimeout的回调(更规范安全):

<html>
 <head></head>
 <body>
  <a class="D-btn" href="https://www.wikihow.com/Block-Page-Redirects" onclick="Atredirect()" target="_blank"><span>Download</span></a> 
  <script> 
    function Atredirect() {
      // 打开第一个链接
      window.open('https://gplinks.co/CuM04k', '_blank');
      // 打开第二个链接(设置延迟降低弹窗拦截概率)
      setTimeout(() => {
        window.open('https://m.facebook.com/', '_blank');
      }, 500);
    }
  </script>
 </body>
</html>

关键改动说明

  • 用window.open()替代location.href:前者会在新窗口/标签页打开链接,不会替换当前页面,能实现多链接跳转
  • 修复语法错误:原代码第二个setTimeout的字符串未闭合单引号,改用箭头函数作为回调,彻底避免字符串解析的语法问题
  • 添加合理延迟:给第二个跳转设置500ms延迟,降低被浏览器弹窗拦截的概率(浏览器对同一事件触发的多个弹窗拦截更严格)

内容的提问来源于stack exchange,提问作者Anurag Jha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:15:33