页面加载失败时获取Chrome中的当前域名
Getting the current domain name in Chrome when the page fails to load
如果您尝试使用 Chrome 加载:http://sdqdsqdqsdsqdsqd.com/
您将获得:
ERR_NAME_NOT_RESOLVED
我希望通过小书签能够获取当前域名并将其重定向到 whois 页面以检查该域是否可用。
我在控制台试过:
window.location.href
但它输出:
"data:text/html,chromewebdata"
有没有办法找回失败的URL?
在 Chrome 错误页面上,location.href
没有指向您尝试访问的域,因为它是一个内部托管页面。
但是,如果您展开 "Show Details" link.
,您尝试访问的域名是可用的
您可以 运行 在控制台(或小书签)中使用此代码来解析域名:
document.querySelector('strong[jscontent="hostName"]').textContent
nderscore 的修改版本,因为您需要为正确的 return 设置一个 if 语句。
function getUrl () {
if(window.location.hostname == "") {
return document.querySelector('strong[jscontent="hostName"]').textContent
} else{
return window.location.href;
}
}
其他人给出的解决方案无效(可能是因为我得到了不同的错误或有更新的版本:Chrome 55):
document.querySelector('strong[jscontent="hostName"]').textContent
但同样可以通过以下方式实现:
document.querySelector('#reload-button').url
一个可能更适合未来的版本(来自 )
loadTimeData.data_.summary.failedUrl
所以一个包含所有解决方法的跨版本解决方案:
var url = (location.href === 'data:text/html,chromewebdata'
&& loadTimeData.data_.summary.failedUrl
|| document.querySelector('#reload-button').url
) || location.href;
var hostname = (location.href === 'data:text/html,chromewebdata'
&& loadTimeData.data_.summary.hostName
|| document.querySelector('strong[jscontent="hostName"]').textContent
) || location.hostname;
在使用开发人员工具查看 html 页面的源代码时(右键单击网页,然后 select 检查元素),我发现完整的原始代码失败 URL 在一个名为
的变量中
loadTimeData.data_.summary.failedUrl
在我的例子中,我必须将自动生成的 URL 中的一些 'incorrect part' 更新为 'correct part'。所以我创建了这样的 bookmarlet:
javascript: location.assign(loadTimeData.data_.summary.failedUrl.replace('IncorrectPart','CorrectPart'));
如果您尝试使用 Chrome 加载:http://sdqdsqdqsdsqdsqd.com/
您将获得:
ERR_NAME_NOT_RESOLVED
我希望通过小书签能够获取当前域名并将其重定向到 whois 页面以检查该域是否可用。
我在控制台试过:
window.location.href
但它输出:
"data:text/html,chromewebdata"
有没有办法找回失败的URL?
在 Chrome 错误页面上,location.href
没有指向您尝试访问的域,因为它是一个内部托管页面。
但是,如果您展开 "Show Details" link.
,您尝试访问的域名是可用的您可以 运行 在控制台(或小书签)中使用此代码来解析域名:
document.querySelector('strong[jscontent="hostName"]').textContent
nderscore 的修改版本,因为您需要为正确的 return 设置一个 if 语句。
function getUrl () {
if(window.location.hostname == "") {
return document.querySelector('strong[jscontent="hostName"]').textContent
} else{
return window.location.href;
}
}
其他人给出的解决方案无效(可能是因为我得到了不同的错误或有更新的版本:Chrome 55):
document.querySelector('strong[jscontent="hostName"]').textContent
但同样可以通过以下方式实现:
document.querySelector('#reload-button').url
一个可能更适合未来的版本(来自
loadTimeData.data_.summary.failedUrl
所以一个包含所有解决方法的跨版本解决方案:
var url = (location.href === 'data:text/html,chromewebdata'
&& loadTimeData.data_.summary.failedUrl
|| document.querySelector('#reload-button').url
) || location.href;
var hostname = (location.href === 'data:text/html,chromewebdata'
&& loadTimeData.data_.summary.hostName
|| document.querySelector('strong[jscontent="hostName"]').textContent
) || location.hostname;
在使用开发人员工具查看 html 页面的源代码时(右键单击网页,然后 select 检查元素),我发现完整的原始代码失败 URL 在一个名为
的变量中loadTimeData.data_.summary.failedUrl
在我的例子中,我必须将自动生成的 URL 中的一些 'incorrect part' 更新为 'correct part'。所以我创建了这样的 bookmarlet:
javascript: location.assign(loadTimeData.data_.summary.failedUrl.replace('IncorrectPart','CorrectPart'));