创建自定义DNS错误页面

时间:2011-12-15 03:48:45

标签: google-chrome-extension override custom-error-pages

我正在构建新的扩展程序,我想在Google Chrome中自定义默认错误页面。我已经浏览了“覆盖页面”文档here,但还没有找到任何关于自定义我指定的页面的信息。

非常感谢任何建议。谢谢。

我想要自定义的错误页面是:

  

此网页不可用

     

无法找到 _ ___ 的服务器,因为DNS查找   失败。 DNS是将网站名称转换为的网络服务   它的互联网地址。这个错误通常是由于没有造成的   连接到Internet或配置错误的网络。它也可以   由无响应的DNS服务器或阻止Google的防火墙引起的   Chrome访问网络。以下是一些建议:重新加载   这个网页以后。检查您的Internet连接。重启任何   路由器,调制解调器或您可能正在使用的其他网络设备。检查你的   DNS设置。如果您不确定,请与您的网络管理员联系   这意味着什么。尝试通过以下方法禁用网络预测   步骤:转到扳手菜单>选项>在引擎盖下取消选择   “预测网络行为以提高页面加载性能。”如果这   如果没有解决问题,我们建议您再次选择此选项   提高性能。将Google Chrome添加为允许的程序   您的防火墙或防病毒软件的设置。如果它已经是   允许的程序,尝试从允许的程序列表中删除它   并再次添加它。如果您使用代理服务器,请检查您的代理   设置或联系您的网络管理员以确保代理   服务器正在工作。如果您不相信您应该使用代理   服务器,调整代理设置:转到扳手菜单>选项>   在引擎盖下>更改代理设置...> LAN设置并取消选择   “为LAN使用代理服务器”复选框。

     

错误105(net :: ERR_NAME_NOT_RESOLVED):无法解析服务器   DNS地址。

1 个答案:

答案 0 :(得分:9)

chrome.override不适用于此。相反,您可以使用chrome.webRequest API检测DNS解析错误。如果您看到此错误,则可以在选项卡中加载其他URL。这些方面的东西:

chrome.webRequest.onErrorOccurred.addListener(onErrorOccurred, {urls: ["http://*/*", "https://*/*"]});

function onErrorOccurred(details)
{
  if (details.error == "net::ERR_NAME_NOT_RESOLVED")
    chrome.tabs.update(details.tabId, {url: "..."});
}