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

Chrome扩展Override Pages:新标签页重定向外部URL问题求助

解决方案:Chrome扩展新标签页重定向到外部URL

我之前也碰到过一模一样的问题!Chrome确实不允许直接在chrome_url_overrides里指定外部URL,这是官方的安全限制。不过通过本地页面中转的方式完全可以实现,下面给你几个靠谱的方案:

方法1:使用Chrome Tabs API(最推荐,Manifest V3兼容)

这种方法通过Chrome官方API修改当前标签页的URL,稳定性最高,几乎不会被浏览器拦截。

步骤1:更新manifest.json

首先要声明tabs权限,同时指定本地的newtab.html作为新标签页入口:

{
    "manifest_version": 3,
    "name": "我的自定义新标签页",
    "version": "1.0",
    "chrome_url_overrides": {
        "newtab": "newtab.html"
    },
    "permissions": ["tabs"],
    "content_security_policy": {
        "extension_pages": "script-src 'self'; object-src 'none'"
    }
}

步骤2:创建newtab.html和重定向脚本

新建newtab.html,引入单独的JS文件(Manifest V3默认不允许内联脚本):

<!DOCTYPE html>
<html>
<head>
    <script src="redirect.js"></script>
</head>
<body>
    <p>正在跳转到目标页面...</p>
</body>
</html>

然后创建redirect.js,用Tabs API完成重定向:

chrome.tabs.getCurrent(tab => {
    // 确保获取到当前标签页对象后再执行更新
    if (tab?.id) {
        chrome.tabs.update(tab.id, { url: "https://stackoverflow.com/" });
    }
});

方法2:简单的JavaScript页面重定向(快速实现)

如果不想申请tabs权限,也可以直接在本地页面里用window.location跳转,不过偶尔可能会被Chrome的自动跳转拦截机制限制:

newtab.html代码

<!DOCTYPE html>
<html>
<head>
    <script>
        // 页面加载完成后执行跳转
        window.addEventListener('load', () => {
            window.location.href = "https://stackoverflow.com/";
        });
    </script>
    <!-- 注意:Manifest V3下需要调整CSP允许内联脚本,或者把脚本移到外部文件 -->
</head>
<body>
    <p>正在跳转...</p>
</body>
</html>

如果用Manifest V3,更稳妥的做法是把脚本移到外部文件,避免修改CSP引入安全风险。

方法3:带手动跳转选项的方案(防止拦截)

如果担心自动跳转失效,可以增加一个手动触发的按钮,同时保留自动跳转逻辑:

<!DOCTYPE html>
<html>
<head>
    <script src="redirect.js"></script>
</head>
<body>
    <p>3秒后自动跳转到目标页面...</p>
    <button id="redirectBtn">立即跳转</button>
</body>
</html>

redirect.js:

const targetUrl = "https://stackoverflow.com/";

// 自动跳转(3秒延迟)
setTimeout(() => {
    window.location.href = targetUrl;
}, 3000);

// 手动跳转按钮事件
document.getElementById('redirectBtn').addEventListener('click', () => {
    window.location.href = targetUrl;
});

关键提醒

Chrome限制chrome_url_overrides直接使用外部URL是为了安全,避免恶意扩展劫持新标签页。所以所有方案都必须通过扩展内的本地页面作为中转,这是绕不开的前提。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:15:26