2016-05-18 5 views
1

国際化ドメイン名の場合、ChromeとFirefoxは同じドメインで異なる結果を返します。 Punycodeで中window.location.hostnameJavascript document.domain:ChromeとFirefoxが別の返品

クロームリターンドメイン名の

Firefoxの

> document.domain 
"веб-коннект.рф" 

クローム

> document.domain 
"xn----9sbcmc3abwai2c.xn--p1ai" 

同じ動作。 Firefoxでpunycodeでドメイン名を取得する方法はありますか、Chromeで読み取り可能なドメイン名を取得する方法はありますか?

あなたが punycode.jsのようなライブラリを使用してコードがPunycodeでであるかどうかを確認、それをデコードして確認することができます

答えて

1

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>