当站点无法完全加载时显示通知

use*_*858 5 google-chrome-extension

有时在过载期间,某些站点无法加载.

我可以使用chrome.webRequest.onErrorOccurred api检测到这个错误.

我想在这种情况下内容脚本根本不会运行,因此从后台页面向内容脚本发送消息是没有用的.

如何在站点主体中粘贴无法加载的通知?

也许从后台页面使用脚本执行?页面是否有正文内容?

dan*_*dan 0

这里有几个选择。如果您正在使用chrome.webRequest.onErrorOccurred(),我建议您在发生错误时将选项卡重定向到错误页面,使用chrome.tabs.update().

例如:

chrome.webRequest.onErrorOccurred.addListener(function(details) 
{    
    chrome.tabs.update(details.tabId, {url: "URL FOR AN ERROR PAGE"});
},
{types: ["main_frame"]});
Run Code Online (Sandbox Code Playgroud)

当资源类型为 main_frame 错误的 Web 请求时,这将重定向发生错误的选项卡。

这里您需要考虑一些事情。您是否只想捕获 main_frame 类型的请求中的错误?如果没有,只需从事件中删除“类型”过滤器即可。

您需要考虑的另一件事是您要重定向到哪个页面。您可以在扩展程序中打包 HTML 文件,然后重定向到该文件。要生成错误页面的 URL,您可以运行chrome.extension.getURL('customerrorpage.html').