javascript - 页面加载失败时在 Chrome 中获取当前域名

标签 javascript google-chrome bookmarklet

如果您尝试使用 Chrome 加载:http://sdqdsqdqsdsqdsqd.com/

您将获得:

ERR_NAME_NOT_RESOLVED

我希望通过小书签能够获取当前域名并将其重定向到 whois 页面以检查该域是否可用。

我在控制台试过:

window.location.href

但它输出:

"data:text/html,chromewebdata"

有什么方法可以检索失败的 URL?

最佳答案

其他人给出的解决方案不起作用(可能是因为我遇到了不同的错误或有更新的版本:Chrome 55):

document.querySelector('strong[jscontent="hostName"]').textContent

但同样可以通过以下方式实现:

document.querySelector('#reload-button').url

一个可能更适合 future 的版本(来自 Thomas's comment)

loadTimeData.data_.summary.failedUrl

因此一个包含所有解决方法的跨版本解决方案:

var url = (l‌​ocation.href === 'data‌​:text/html,chromeweb‌​data'
    && loadTimeData.data_.summary.failedUrl
    || document.querySelector('#reload-button').url
) || location.href;

var hostname = (l‌​ocation.href === 'data‌​:text/html,chromeweb‌​data'
    && loadTimeData.data_.summary.hostName
    || document.querySelector('strong[jscontent="hostName"]').textContent
) || location.hostname;

关于javascript - 页面加载失败时在 Chrome 中获取当前域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29989031/

相关文章:

javascript - 返回循环中的每个响应

javascript - XMLHttpRequest 未发送 'Via'

html - 当我在远离它的地方单击时,元素会聚焦 - 这是正确的吗?

javascript - 如何使用 jQuery 自动完成

asp.net - 如何在 Chrome 上运行的 IIS Express 中关闭友好错误消息?

javascript - Safari 和 Chrome 中的 iframe 问题

javascript - 将小书签变成 Chrome 扩展程序

javascript - javascript 如何精确匹配来自不同 url 的 7 个数字

javascript - 小书签脚本太长,无法创建应用程序快捷方式

javascript - 使用javascript保存为字符串的两次之间的差异