当您输入无效的地址时,Chrome会显示一个灰色页面,显示“糟糕!Google Chrome找不到X。您是说Y?”
由于这不是HTTP页面,而是浏览器的内置内容之一,因此我无法在其中放置内容脚本并且无法控制它,因此我的扩展程序将被冻结,直到用户手动转到另一个页面为止。
由于该扩展程序应该能够单独控制浏览器,因此,只要此页面打开,它就会自动返回到我具有内容脚本访问权限的页面,然后显示一条消息,这一点非常重要。
这不可能吗?
最佳答案
您可以使用 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))
});
}
});
关于google-chrome - 控制 “Oops! Chrome could not find … ”页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20515560/