【问题标题】:Showing a notice when site fails to load completely当网站无法完全加载时显示通知
【发布时间】:2016-03-29 12:08:18
【问题描述】:
有时在过载期间某些网站无法加载。
我可以使用 chrome.webRequest.onErrorOccurred api 检测到这个错误。
我猜在这种情况下内容脚本根本不会运行,所以从后台页面向内容脚本发送消息是没有用的。
如何在网站正文中粘贴加载失败的通知?
也许使用从后台页面执行的脚本?页面会有正文内容吗?
【问题讨论】:
标签:
google-chrome-extension
【解决方案1】:
这里有几个选项。如果您使用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"]});
这将重定向当 web 请求带有 resourceType of main_frame 错误时发生错误的选项卡。
您需要在此处考虑一些事项。您是否只想从具有 main_frame 类型的请求中捕获错误?如果没有,只需从事件中删除“类型”过滤器。
您需要考虑的另一件事是您要重定向到哪个页面。您可以在扩展中打包 HTML 文件,然后重定向到该文件。要生成错误页面的 URL,您可以运行 chrome.extension.getURL('customerrorpage.html')。