Внедрение UrlEncoded строки в страницу - Firefox против Chrome - PullRequest
0 голосов
/ 11 января 2011

Кажется, что следующая разметка отображается по-разному в Firefox и Chrome, и я не уверен, как это предотвратить:

<%= HttpUtility.UrlEncode("+") %>
<%= "<a href='#' name='" + HttpUtility.UrlEncode("+") + "'>stuff</a>"%>

В Firefox это выглядит так: %2b<a name="+" href="#">stuff</a>
В Chrome это выглядит так: %2b<a name="%2b" href="#">stuff</a>

Есть ли способ обойти это?

Ответы [ 2 ]

0 голосов
/ 28 января 2011

Я справился с этой проблемой, вручную проверив код, определяющий, содержит ли возвращаемая строка '+' или '=' и соответствующим образом UrlEncoded.Хотя это не очень хорошее решение, в моем случае оно было приемлемым, так как я знаю, что декодированная строка содержала и «+», и «=», поэтому я могу сделать вывод, была ли она закодирована в зависимости от того, присутствовали ли они.

0 голосов
/ 11 января 2011

Это просто разница в том, как Firebug и инструменты разработчика Chrome отображают имя. Если вы посмотрите источник, вы найдете %2b в обоих, и это будет так, если вы будете ссылаться на него в скрипте (или в ссылке, такой как <a href="#%2b">).

...