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

window.open()调用无法打开Google搜索页面问题求助

问题:新标签页扩展中通过window.open打开Google搜索时出现连接拒绝

问题描述

在自定义新标签页扩展里,点击按钮调用window.open()打开带搜索参数的Google页面时,始终显示“www.google.com refused to connect.”,多次尝试后Edge会完全屏蔽Google,重启浏览器后通过地址栏或Google主页搜索可正常使用。

原代码:

JavaScript

function mySearch() { 
  var URL = "https://www.google.com/search?q="; 
  var searchBx = document.getElementById("searchBx").value; 
  window.open(URL.concat(searchBx), '_self'); 
}

HTML

<div class="searchBx"> 
  <input type="text" name="" class="query" id="searchBx" value=""> 
</div> 
<div class="button"> 
  <button class="searchBtn" onclick="mySearch()">Google Search</button> 
</div>

解决方案

方案1:改用window.location.href导航(推荐,符合当前页跳转需求)

替换window.open('_self')为直接修改window.location.href,避免触发浏览器安全拦截机制:

function mySearch() {
  const baseUrl = "https://www.google.com/search?q=";
  const query = document.getElementById("searchBx").value.trim();
  if (query) {
    // 对搜索参数编码,避免特殊字符导致URL错误
    window.location.href = baseUrl + encodeURIComponent(query);
  }
}

方案2:使用原生表单提交(无需JS,更可靠)

依靠HTML表单原生提交逻辑,规避JS导航带来的限制:

<form action="https://www.google.com/search" method="GET" class="search-form">
  <div class="searchBx">
    <input type="text" name="q" class="query" id="searchBx" value="" placeholder="输入搜索内容">
  </div>
  <div class="button">
    <button type="submit" class="searchBtn">Google Search</button>
  </div>
</form>

原因分析

新标签页扩展运行在浏览器特殊页面上下文(如Edge自定义新标签页),浏览器对这类页面的JS触发导航有严格安全限制。window.open(..., '_self')易被误判为非用户主动发起的跳转,进而触发连接拒绝;多次尝试后会被判定为恶意行为,导致Google被临时屏蔽。而直接修改window.location.href或使用原生表单提交,属于浏览器认可的正常导航行为,不会触发拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:03:24