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

时间:2016-03-29 12:08:18

标签: google-chrome-extension

有时在过载期间,某些网站无法加载。

我可以使用chrome.webRequest.onErrorOccurred api来检测此错误。

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

如何在网站正文中粘贴无法加载的通知?

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

1 个答案:

答案 0 :(得分: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"]});

这将重定向选项卡,当发出带有resourceType main_frame错误的网络请求时,会发生错误。

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

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