Запрет на кодирование ссылки 
		
		
		
		Всем привет! 
	Есть домен в зоне .рф и естественно ссылка тоже состоит из кириллицы, пример: Код: 
	https://сайт.рф/каталогКод: 
	https://сайт.рф/%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3В общем, как решить эту проблему?  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Используйте латиницу для урлов, а лучше вообще смените домен на .ru или другую зону на латинице. 
	Кириллические домены многие уже к 2012 году отлюбили. Ни мыла вам, ни нормальной ссылки. Заморочек больше чем выхлопа. Я серьёзно, обдумайте вариант смены, ну или мучайтесь с этим дальше.  | 
	
		
 Цитата: 
	
 Цитата: 
	
 В JS link.href возвращает URI независимо от того, как в разметке представлен атрибут href — как URI, или как IRI (т. е. в данном примере — https://xn--80aswg.xn--p1ai/%D0%BA%D...BB%D0%BE%D0%B3) Если у вас в разметке адрес представлен в атрибуте href как IRI, то вам достаточно его прочитать и записать в буфер обмена. В примере нажатие на кнопку запускает процесс копирования... 
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard-polyfill/2.8.6/clipboard-polyfill.js"></script>
<a id="link" href="https://сайт.рф/каталог">сайт.рф/каталог</a>
<script>
const button = document.createElement("button");
button.textContent = "Копировать адрес ссылки";
button.addEventListener("click", event => {
	const iri = document.querySelector("a#link").getAttribute("href");
		
	clipboard.writeText(iri).then(() => {
		alert('Ccылка скопирована! ' + iri);
	});
});
document.body.appendChild(button);
	
</script>
Если же у вас в разметке адрес представлен в атрибуте href как URI, то вам нужна сторонняя библиотека для того, чтобы перевести URI в IRI. 
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard-polyfill/2.8.6/clipboard-polyfill.js"></script>
<script src="https://unpkg.com/uri-js@4.2.2/dist/es5/uri.all.min.js"></script>
<a id="link" href="https://xn--80aswg.xn--p1ai/%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3">сайт.рф/каталог</a>
<script>
const button = document.createElement("button");
button.textContent = "Копировать адрес ссылки";
button.addEventListener("click", event => {
	const iri = URI.serialize(URI.parse(document.querySelector("a#link").href), { iri: true });
		
	clipboard.writeText(iri).then(() => {
		alert('Ccылка скопирована! ' + iri);
	});
});
document.body.appendChild(button);
	
</script>
Если вы не уверены, что у вас используется в атрибуте href (URI или IRI), то я вам рекомендую использовать последний пример. Сторонний код вы можете скачать к себе в проект. Цитата: 
	
  | 
	
		
 Цитата: 
	
 Насколько я понял, человек спрашивает о копировании урла из браузерной строки.  | 
	
		
 Цитата: 
	
 А неудобство возникает из-за того, что в некоторых местах до сих пор используется URI, когда полностью прекратится использование URI и произойдёт переход на IRI, то такие проблемы исчезнут. Даже если домен не содержит символы Unicode, которых нет в ASCII, такие символы могут встречаться в query string. Сравните... URI — https://www.google.com/search?q=%D0%...%D0%B8% D0%B5 IRI — https://www.google.com/search?q=программирование Конечно же вариант IRI удобен и для чтения и для разбора...  | 
	
		
 URI и IRI это в настройках сервера? 
	URI встречаю постоянно (наверное в документациях), но честно - даже не задумываюсь что это такое. Про IRI наверное сегодня первый раз от вас услышал.  | 
	
		
 Malleys, спасибо большое за развернутый ответ с примерами. Но к сожалению речь идет именно о копировании из адресной строки браузера. 
	 | 
	
		
 Странно, 
	Когда я ввожу в адресную строку Код: 
	https://сайт.рф/каталогПри копировании из Файрфокса получаю Код: 
	https://сайт.рф/%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3Код: 
	https://xn--80aswg.xn--p1ai/%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3 | 
| Часовой пояс GMT +3, время: 09:56. |