Исторический альманах, портал коллекционеров информации, электронный музей 'ВиФиАй' work-flow-Initiative 16+
СОХРАНИ СВОЮ ИСТОРИЮ НА СТРАНИЦАХ WFI Категории: Актуальное Избранное
Исторический альманах, портал коллекционеров информации, электронный музей

Путь:

Навигация


Язык [ РУССКИЙ ]

Поиск
Подписка и соц. сети

Подписаться на обновления сайта


Поделиться

Яндекс.Метрика

Новые материалы

Картинка недели

К началуК началу
В конецВ конец
Создать личную галерею (раздел)Создать личную галерею (раздел)
Создать личный альбом (с изображениями)Создать личный альбом (с изображениями)
Создать материалСоздать материал

wfi в ногу со временем

Оценка раздела:
Не нравится
4
Нравится

Категории

Необычный подход к созданию копируемых URL адресов страниц без кодирования нелатинских символов в UTF

Дата публикации: 2016-08-25 12:01:32
Просмотров: 1721
Автор:
Как на сайте реализовать копируемые URL адреса с кириллицей без преобразования их в UTF кодировку.
 
Как видно на этом сайте URL содержат кириллические символы и при копировании ссылки страницы произойдет их преобразование в кодировку UTF. Вместо читабельного: Необычный подход к созданию копируемых URL адресов страниц без кодирования нелатинских символов в UTF мы получим нечто подобное http://wfi.lomasm.ru/%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9

С этим можно бороться на стороне браузера. Для Chrome есть специальный плагин, для FireFox можно отключить преобразование ссылки отключив опцию network.standard-url.escape-utf8 в настройках. Но я попытаюсь бороться с нелатинскими (кириллическими и прочими) символами в ссылке на стороне сервера\сайта.
 
Способ необычный и не подходит для большинства сайтов, но для AJAX сайтов может пригодится или поможет в реализации похожих нестандартных трюков.
 
Метод очень прост 
К сожалению, как выяснилось в FireFox не работает, но надеюсь и эту проблему можно будет обойти в будущем.
Если у вас не Firefox и ваш браузер преобразовывает ссылки при копировании попробуйте скопировать ссылку данной статьи, вы получите читаемую ссылку не кодированную в UTF.
Ссылка будет выглядеть так: http://wfi.lomasm.ru/=#русский.wfi_в_ногу_со_временем/необычный_подход_к_созданию_копируемых_url_адресов_страниц_без_кодирования_нелатинских_символов_в_utf
Оригинальный адрес статьи выглядит так: http://wfi.lomasm.ru/русский.wfi_в_ногу_со_временем/необычный_подход_к_созданию_копируемых_url_адресов_страниц_без_кодирования_нелатинских_символов_в_utf

Если в ссылке перед латинскими символами поставить символ #, текст после него не будет преобразован.
Для того чтобы реализовать это, нам надо добавить в URL данный символ при помощи метода history.pushState.

<script type="text/javascript">
window.history.pushState("null", "null", "http://wfi.lomasm.ru/=#русский.wfi_в_ногу_со_временем/необычный_подход_к_созданию_копируемых_url_адресов_страниц_без_кодирования_нелатинских_символов_в_utf");
</script>

Теперь, такой ссылкой приятно поделиться. Но как попасть на нужный материал перейдя по ней, ведь теперь ссылка указывает на главную, а все что после # это параметры для Hash-навигации.

Тут поможет не менее простой скрипт, которому я дал имя = и положил в корень сайта, а можно было разместить и на главной.

<script>
function rehash()
{
   var localhash = location.hash.substring(1);
   if (localhash !="") {
      localhash=decodeURI(localhash);
      window.location = localhash;
   }
}
rehash();
</script>

Все что делает скрипт - это избавляется от =# в адресе страницы и выполняет переход по оригинальному адресу.
 
Такой метод можно применить для ссылок у которых необходимо сохранить читабельность после копирования без необходимости индексирования содержимого, 
или для придания индексируемым ссылкам наглядности содержимого, если основной адрес материала представляет из себя короткую ссылку,
но хоть и некоторые поисковые  системы прекрасно понимают такие ссылки, я бы воздержался от их использования, ибо большая зависимость от javascrypt.

Примеры использования:

Например: (для неиндексируемых)
Материал: статус заказа 011734 покупка электронных компонентов
Имеет URL http://site/статус заказа 011734 покупка электронных компонентов
URL ссылки которые не нужно индексировать, но которыми можно поделиться без деформации URL можно дополнить символом # но тут потребуется редирект с помощью скрипта на отдельной странице или на главной.
http://site/=#статус заказа 011734 покупка электронных компонентов
или
http://site/статус заказа 011734 покупка электронных компонентов
 
Например: (без проблем с индексацией)
Статья: О_продвинутом_WFI_сервере
Имеет короткий URL http://site/Gtf23J или http://site/id=43221
Такой URL можно обернуть читабельным и понятным заголовком материала, который можно скопировать и вставить в блокнот или поделиться с товарищем, редирект при этом не нужен.
Таким образом:
http://site/Gtf23J#О_продвинутом_WFI_сервере или http://site/id=43221#О_продвинутом_WFI_сервере

Чтобы сделать все ссылки на странице "копируемыми" можно так же добавить к ним =#, но это уже другая история... так как в итоге получится полноценный AJAX сайт, о чем можно почитать например тут: https://habrahabr.ru/post/114911/

Автор "lomasm" (Андрей Степнёв) При копировании материалов ссылка обязательна.
Оценка материала:
Нравится
0
Не нравится
Описание материала: Как на сайте реализовать копируемые URL адреса с кириллицей без преобразования их в UTF кодировку

Остальные материалы раздела: wfi в ногу со временем

Предыдущая Первые шаги WFI и Accelerated Mobile Pages

Оставить комментарий

Похожие материалы:

Новые альбомы:


Разработка страницы завершена на 0%
Используйте средства защиты! Соблюдайте гигиену! Избегайте посещения людных мест!
Операции:
WFI.lomasm.ru исторические материалы современной России и Советского Союза, онлайн музей СССР
Полезные советы...