当您输入无效地址时,Chrome会显示一个灰色页面,上面写着“糟糕!Google Chrome无法找到X.您的意思是Y?”
因为这不是HTTP页面,而是浏览器内置的东西之一,我不能在其中放入内容脚本而无法控制它,因此我的扩展程序被冻结,直到用户手动转到另一个页。
由于扩展应该能够自己控制浏览器,因此非常重要的是,无论何时打开此页面,它都会自动返回到我做的内容脚本访问的页面,然后显示一条消息。
这不可能吗?
答案 0 :(得分:4)
您可以使用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))
});
}
});
答案 1 :(得分:1)