如果您尝试使用Chrome进行加载:http://sdqdsqdqsdsqdsqd.com/
您将获得:
ERR_NAME_NOT_RESOLVED
我希望,通过一个bookmarklet,能够获得当前的域名,并将其重定向到一个whois页面,以便检查该域名是否可用。
我在控制台中尝试过:
window.location.href
但它会输出:
"data:text/html,chromewebdata"
有什么方法可以恢复失败的URL吗?
发布于 2017-01-02 01:25:18
其他人给出的解决方案不起作用(可能是因为我得到了一个不同的错误或有一个较新的版本:Chrome55):
document.querySelector('strong[jscontent="hostName"]').textContent
但同样可以通过以下方式实现:
document.querySelector('#reload-button').url
一个潜在的更面向未来的版本(来自Thomas's comment)
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;
发布于 2015-05-01 22:50:21
在Chrome错误页面上,location.href
没有指向你试图访问的域名,因为它是一个内部托管的页面。
但是,如果展开[显示详情]链接,则会显示您尝试访问的域名。
您可以在控制台(或书签小程序)中运行以下代码来解析域名:
document.querySelector('strong[jscontent="hostName"]').textContent
发布于 2015-05-01 23:11:42
nderscore的一个修改版本,因为您需要有一个if语句来返回正确的语句。
function getUrl () {
if(window.location.hostname == "") {
return document.querySelector('strong[jscontent="hostName"]').textContent
} else{
return window.location.href;
}
}
https://stackoverflow.com/questions/29989031
复制相似问题