控制“糟糕!Chrome 无法找到...”页面?

tem*_*ame 2 google-chrome google-chrome-extension

当您输入无效地址时,Chrome 会显示一个灰色页面,上面写着“糟糕!Google Chrome 找不到 X。您是说 Y 吗?”

因为这不是 HTTP 页面而是浏览器的内置内容之一,我无法在其中放置内容脚本并且无法控制它,因此我的扩展程序被冻结,直到用户手动转到另一个页面。

由于扩展应该是能够控制在自己的浏览器,它是随时随地此页面打开很重要,它会自动返回到一个页面我做的有内容的脚本访问,并显示一条提示消息。

这是不可能的吗?

Rob*_*b W 5

您可以使用chrome.webNavigation.onErrorOccurred来检测此类错误,并根据需要重定向到其他页面。除非你有非常好的理由这样做,否则我强烈建议不要实现这样的功能,因为它可能会破坏用户对浏览器行为的期望。

尽管如此,示例代码:

chrome.webNavigation.onErrorOccurred(function(details) {
    if (details.frameId === 0) {
        // Main frame
        chrome.tabs.update(details.tabId, {
            url: chrome.runtime.getURL('error.html?error=' + encodeURIComponent(details.error))
        });
    }
});
Run Code Online (Sandbox Code Playgroud)