2013-08-26 3 views
4

Когда я открываю URL-адрес со специальными символами, используя window.location, он, как представляется, кодирует специальные символы и затем открывает URL-адрес. НапримерПроцент кодирования в window.location

var url = "http://gramfeed.com/instagram/tags/kühl"; 
window.location = url; 

Это приведет к открытию страницы с URL:

http://gramfeed.com/instagram/tags/k%C3%BChl 

вместо:

http://gramfeed.com/instagram/tags/kühl 

Как сделать URL открытого правильно без процентов закодированных символов

Реклама: jsfiddle Чтобы ознакомиться с кодом: http://jsfiddle.net/krisrak/aSkMR/

+0

процента кодирования было вызвано в коде питона сервера, зафиксированный в JavaScript с помощью decodeURIComponent и замен в window.location.hash – krisrak

ответ

3

Я не верю, что проблема связана с окнами и вашим JavaScript. Проблемы скорее связаны с тем, как gramfeed.com интерпретирует теги. Попробуйте в вашем коде:

var url = "https://www.google.com/search?q=kühl" 
window.location = url; 

См., Что специальные символы остаются неотвержденными.

Теперь попробуйте ввести http://gramfeed.com/instagram/tags/kühl непосредственно в адресной строке браузера - URL-адрес преобразуется.

+0

Моих плохо, я думаю, что вы правы. Я конвертирую и перенаправляю url в код python, не уверен, почему это процент кодирования специальных символов: url = self.request.path.replace ('/' + TAG_NAME, '#' + TAG_NAME) self.redirect (url) – krisrak

+1

исправлено в javascript с decodeURIComponent: var tag_name = decodeURIComponent (window.location.hash.substring (1)); window.location.hash = имя_таблицы; – krisrak

+1

@ krisrak супер, хорошая работа! –

0

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

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

Надеется, что это помогает кто-то еще :)

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