对于国际化域名,Chrome和Firefox对于同一域返回不同的结果。
火狐浏览器
> document.domain
"веб-коннект.рф"
铬
> document.domain
"xn----9sbcmc3abwai2c.xn--p1ai"
window.location.hostname
的行为相同Chrome以punycode返回域名。
是否可以通过Firefox中的punycode获取域名,或者在Chrome中获取可读的域名?
最佳答案
您可以使用punycode.js
之类的库,并检查代码是否在punycode中,对其进行解码并检查:
if (document.domain.indexOf("xn----") < 0)
document.domain = punycode.encode(document.domain);
<script src="https://rawgit.com/bestiejs/punycode.js/master/punycode.min.js"></script>