2011-12-15 95 views
4

我正在构建一个新的扩展,我想定制Google Chrome中的默认错误页面。我已经通过“覆盖页面”文档here,但还没有找到任何关于自定义我指定的页面。创建一个自定义的DNS错误页面

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

错误页面我想自定义是:

此网页无法使用

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

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

回答

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: "..."}); 
} 
+0

非常感谢!我正在开发一个扩展需要钩住这个错误。在你指出之前,我从来不知道这个方法。 – wukong 2012-11-05 10:47:23