2009-11-12 2 views
0

я заметил проблему, где со следующим HTML:Firefox Невозможно Handle% 2b в Page Ссылки

<html> 
    <head> 
     <title>UrlEncode Test</title> 
    </head> 
    <body> 
     <a href="http://example.com/Process.php?OrderID=y%2bog%3d">Process</a> 
    </body> 
</html> 

Вместо того, чтобы заменить % 2b с +, Firefox делает это с пробелом вместо так, чтобы нажатие на ссылку пытается перейти к «http://example.com/Process.php?OrderID=y og =» вместо «http://example.com/Process.php?OrderID=y+og=». У IE и Chrome нет никаких проблем с этим вообще; просто Firefox. Кто-нибудь еще столкнулся с этим и смог обмануть его?

ответ

0

У вас возникла проблема с кодировкой URL.

В вашем случае, я хотел бы предложить формирование URL, как это:

http://example.com/Process.php?OrderID=y+bog%3d

Так как кажется, как будто вы собираетесь на самом деле использовать символ «+» в том, что мода. Там нет проблем с наличием символа «+» в вашем URL-адресе.

+0

Проблема заключается в том, что URL-адрес может быть сгенерирован PHP urlencode(), ASP.NET HttpUtility.UrlEncode() или urllib.quote(), на Python, поэтому «+» в исходной строке станет «% 2b». – Bullines

0

Итак, я сохранил код, который вы предлагали в локальном HTML-файле, открыл его в Firefox 3.5 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.1.5) Gecko/20091102 Firefox/3.5.5), зависала ссылка (пила «y + og» в строке состояния), щелкнула ее и указатель содержала http://example.com/Process.php?OrderID=y%2bog%3d. Можете ли вы на самом деле воспроизвести проблему с вашим примером? Какая версия Firefox на какой ОС? Точные шаги для воспроизведения?

+0

Шаги, которые я использую, - это сохранить локальный файл с помощью вышеприведенного HTML и открыть его в Firefox 3.5 в Windows Vista. – Bullines

+0

А потом? Что вы видели при наведении ссылки? При нажатии на нее? Я предполагаю, что это может быть связано с региональными настройками и/или настройками кодировки символов в Firefox. – Nickolay

0

Лучше использовать «+» вместо% 2b. Но отслеживание будет выполнено на% 2b. Поскольку несколько браузеров преобразуют этот символ в кодировку, а Лидс - в% 2b. Пожалуйста, следите за этим видом.

А также зависит от того, какую почтовую программу вы используете.

Устранение - создать ссылку, используя в ней «+».

Nithan urs/ Отдел QA - электронный маркетинг.