2013-08-23 4 views
0

В моем веб-приложении я использую ссылку mailto для открытия Outlook 2007. Я также вставляю URL-адрес в тело. Проблема в том, что мне нужен весь URL-адрес, чтобы быть гиперссылкой. Если есть какие-либо пробелы, тогда гиперссылка ломается, или даже если есть какие-либо специальные символы, например, если она заканчивается закрытыми скобками, символ не будет включен в гиперссылку, поэтому ссылка прерывается.Как спрятать encodeURIComponent в javascript?

Что я пытался использовать encodeURIComponent по ссылке, которую url кодирует, но проблема в том, что в Outlook она автоматически расшифровывает его обратно в нормальное состояние, которое затем нарушает связь. Мне нужен способ двойного кодирования.

В принципе, вместо делать

" " ->"%20" (< - encodeURIComponent)

мне нужно

" " ->"%2520"

Так что в перспективе, то %25 получает декодируется %, который при объединении с 20 таким образом я получаю %20 сохраняя связь закодированной один раз и не сломанной. Это то, что будет работать для меня, но я просто не знаю, как это сделать.

Кто-нибудь знает, как я могу сделать эту двойную кодировку?

Благодаря

ответ

3

Encode

var encoded=escape(encodeURIComponent(' ')); 

Decode

var decoded=decodeURIComponent(unescape(encoded)); 
+0

Когда я попробовал это, не кодировать ')' в конце концов, и он был оставлен как обычный текст и не является частью гиперссылки. – omega

+0

http://jsfiddle.net/Y8uVb/1/ Тест здесь – cocco

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