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

自定义搜索JS命令无法打开双新标签页求助

解决Chrome控制台运行JS无法打开两个新标签页的问题

问题代码的核心错误

  1. 语法错误:第一个window.open的参数末尾多了一个多余逗号,会导致JS解析失败。
  2. 无限递归:函数内部直接调用myFunction(),会触发无限循环,浏览器会因递归过深报错,同时频繁弹窗会被拦截。
  3. Chrome弹窗拦截机制:非用户主动交互触发的window.open大概率会被浏览器拦截,控制台直接执行代码属于此类场景。

修正后的代码方案

方案1:控制台直接运行(需允许弹窗)

修复语法错误,移除递归,同时处理搜索关键词的URL编码:

function openDualSearchTabs(query) {
  // 将%s替换为编码后的搜索关键词
  const googleUrl = `https://google.com/${encodeURIComponent(query)}`;
  const bingUrl = `https://bing.com/${encodeURIComponent(query)}`;
  // 用_blank指定打开新标签页
  window.open(googleUrl, '_blank');
  window.open(bingUrl, '_blank');
}

// 调用函数,替换为你的搜索关键词
openDualSearchTabs("要搜索的内容");

首次运行若被拦截,点击Chrome地址栏右侧的弹窗图标,允许当前页面弹窗即可。

方案2:用户交互触发(更可靠,避免拦截)

如果要在网页中使用,绑定到按钮点击事件:

<button onclick="openDualSearchTabs('要搜索的内容')">打开双搜索标签页</button>

<script>
function openDualSearchTabs(query) {
  const googleUrl = `https://google.com/${encodeURIComponent(query)}`;
  const bingUrl = `https://bing.com/${encodeURIComponent(query)}`;
  window.open(googleUrl, '_blank');
  window.open(bingUrl, '_blank');
}
</script>

关键注意点

  • encodeURIComponent用于处理含特殊字符的搜索关键词,避免URL解析错误。
  • 禁止使用无限递归,会导致浏览器资源耗尽甚至崩溃。

内容的提问来源于stack exchange,提问作者Migu Be

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:52:04