2016-05-18 4 views
1

В случае интернационализированного доменного имени Chrome и Firefox возвращают разные результаты для того же домена.Javascript document.domain: Chrome и Firefox возвращают разные

Firefox

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

Chrome

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

То же поведение для window.location.hostname

доменное имя Chrome возвращения в Punycode. Является ли способ получить доменное имя в punycode в Firefox или получить доступное для чтения доменное имя в Chrome?

ответ

1

Вы можете использовать библиотеку как 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>

Смежные вопросы