Javascript 单击获取href的顶级主机名
我有一个链接,我想得到顶级域名的域名点击。 在我的例子中,我有Javascript 单击获取href的顶级主机名,javascript,jquery,html,Javascript,Jquery,Html,我有一个链接,我想得到顶级域名的域名点击。 在我的例子中,我有 <a href="http://www.example.com/this/that">click on this link</a> 而不是 www.example.com 实现这一目标的最佳方法是什么?试试看 jQuery(document).on("click", "a", function (event) { event.preventDefault(); var id = jQ
<a href="http://www.example.com/this/that">click on this link</a>
而不是
www.example.com
实现这一目标的最佳方法是什么?试试看
jQuery(document).on("click", "a", function (event) {
event.preventDefault();
var id = jQuery(this).attr('href') || 'nohref';
var domain = id.match(/http[s]?\:\/\/(.*?)[\/$]/)[1]
alert(domain);
});
您可以尝试使用document.domain,尽管它没有window.location.host受广泛支持。实际上它非常简单,不需要正则表达式:
jQuery(document).on("click", "a[href]", function (event) {
event.preventDefault();
alert(this.hostname);
});
看
我不确定它是否在Internet Explorer中工作。否。他试图从锚标记href属性中提取域,而不是从当前页面获取域。正则表达式在技术上可以工作,但不是非常理想。此外,如果正则表达式不匹配,尝试使用[1]将抛出一个错误
var domain = jQuery(this).attr('href').match(/^https?:\/\/([^\/]+)/);
if (domain != null && typeof domain[1]!='undefined')
domain = domain[1];
else
domain = '';
jQuery(document).on("click", "a[href]", function (event) {
event.preventDefault();
alert(this.hostname);
});