Спецсимволы и с чем их есть?
От: DLF  
Дата: 05.08.05 06:30
Оценка:
В общем есть проблема, надо с сервера формировать вызов JavaScript функций, и вот когда в строке содержаться спецсимволы, то начинают валиться разные клиентские ошибки, в общем не хотят такие строки быть параметрами для js, может есть какой нибудь хороший способ борьбы с этим?

Пробовал экранировать — не помогает, символ экранирования вписываеться в строку явно, а ашибки все равно падают, создавать comment, и брать из него текст помогает, но к сожалению система такая огромная, что этот выход не самый лучший, так как сделано там все через з... , индусы делали =), и местами просто физически нет возможности вставить comment в нужный файл, так как функция лежит в каком нибудь отдельном js и юзает еще что-нибудь нехорошее, в результате чего приходиться править половину и 4000 файлов, что не радует =(

Как быть, может кто знает выход, или кто сталкивался с подобной проблемой?
Заранее Спасибо
Re: Спецсимволы и с чем их есть?
От: Аноним  
Дата: 05.08.05 06:58
Оценка:
Здравствуйте, DLF, Вы писали:

DLF>В общем есть проблема, надо с сервера формировать вызов JavaScript функций, и вот когда в строке содержаться спецсимволы, то начинают валиться разные клиентские ошибки, в общем не хотят такие строки быть параметрами для js, может есть какой нибудь хороший способ борьбы с этим?


DLF>Пробовал экранировать — не помогает, символ экранирования вписываеться в строку явно, а ашибки все равно падают, создавать comment, и брать из него текст помогает, но к сожалению система такая огромная, что этот выход не самый лучший, так как сделано там все через з... , индусы делали =), и местами просто физически нет возможности вставить comment в нужный файл, так как функция лежит в каком нибудь отдельном js и юзает еще что-нибудь нехорошее, в результате чего приходиться править половину и 4000 файлов, что не радует =(


DLF>Как быть, может кто знает выход, или кто сталкивался с подобной проблемой?

DLF>Заранее Спасибо

я с этим боролся на текущем проекте, кое-что получилось, но слава богу вовремя отмазался от этой проблемы. Писал утилитные функции на с# и js.
Re[2]: Спецсимволы и с чем их есть?
От: DLF  
Дата: 05.08.05 07:40
Оценка:
Здравствуйте, Аноним, Вы писали:

А>я с этим боролся на текущем проекте, кое-что получилось, но слава богу вовремя отмазался от этой проблемы. Писал утилитные функции на с# и js.


Хоть бы рассказал как отмазался
Re[3]: Спецсимволы и с чем их есть?
От: Константин Ленин  
Дата: 05.08.05 07:45
Оценка:
Здравствуйте, DLF, Вы писали:

DLF>Здравствуйте, Аноним, Вы писали:


А>>я с этим боролся на текущем проекте, кое-что получилось, но слава богу вовремя отмазался от этой проблемы. Писал утилитные функции на с# и js.


DLF>Хоть бы рассказал как отмазался


Перешел на другую часть проекта)). В некоторых случаях можно использовать HttpUtility.Url/Html Decode/Encode, но они съедают знак '+'. Мы взяли таблицу кодов символов HTML и написали свои декоды — сначала стандартные от HttpUtility а потом лечим знаки '+'. Кароче проблема сложная(жопа) и на пальцах трудно.
Re: Спецсимволы и с чем их есть?
От: mbergal  
Дата: 05.08.05 10:45
Оценка:
Здравствуйте, DLF, Вы писали:

DLF>В общем есть проблема, надо с сервера формировать вызов JavaScript функций, и вот когда в строке содержаться спецсимволы, то начинают валиться разные клиентские ошибки, в общем не хотят такие строки быть параметрами для js, может есть какой нибудь хороший способ борьбы с этим?


DLF>Пробовал экранировать — не помогает, символ экранирования вписываеться в строку явно, а ашибки все равно падают, создавать comment, и брать из него текст помогает, но к сожалению система такая огромная, что этот выход не самый лучший, так как сделано там все через з... , индусы делали =), и местами просто физически нет возможности вставить comment в нужный файл, так как функция лежит в каком нибудь отдельном js и юзает еще что-нибудь нехорошее, в результате чего приходиться править половину и 4000 файлов, что не радует =(


DLF>Как быть, может кто знает выход, или кто сталкивался с подобной проблемой?

DLF>Заранее Спасибо

Сталкивались. Есть разные контексты.
Пример:
//                   1 
<a href="#" onclick="alert( &quot;%25a&quot;)">aaa</a>
//       2 
<a href="javascript:alert( &quot;%25b&quot;)">bbb</a>

<script>
// 3 - illegal
alert( &quot;%25a&quot; );
</script>


Было бы проще Вам помочь, если бы Вы привели конкретный пример.
Re[2]: Спецсимволы и с чем их есть?
От: DLF  
Дата: 05.08.05 12:34
Оценка:
Здравствуйте, mbergal, Вы писали:

M>Сталкивались. Есть разные контексты.

M>Пример:
M>
M>//                   1 
M><a href="#" onclick="alert( &quot;%25a&quot;)">aaa</a>
M>//       2 
M><a href="javascript:alert( &quot;%25b&quot;)">bbb</a>

M><script>
M>// 3 - illegal
M>alert( &quot;%25a&quot; );
M></script>
M>


M>Было бы проще Вам помочь, если бы Вы привели конкретный пример.


Я понимаю, что в это трудно поверить, но думаю, что почти все контексты (каких нибудь 99%) в нашем веселом проекте покрыты, так что мне все интересно, просто, меня реально интересовало, что нибудь типа первого совета — переписать htmldecode(encode), хотя он не всегда выручает =(.
Re[3]: Спецсимволы и с чем их есть?
От: mogadanez Чехия  
Дата: 05.08.05 12:42
Оценка:
Здравствуйте, DLF, Вы писали:

DLF>Я понимаю, что в это трудно поверить, но думаю, что почти все контексты (каких нибудь 99%) в нашем веселом проекте покрыты, так что мне все интересно, просто, меня реально интересовало, что нибудь типа первого совета — переписать htmldecode(encode), хотя он не всегда выручает =(.


http://engineering.meta-comm.com/blogs/misha/PermaLink,guid,0307b27e-8735-4b69-843b-6f2601111c4b.aspx
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[3]: Спецсимволы и с чем их есть?
От: mogadanez Чехия  
Дата: 05.08.05 12:45
Оценка:
Здравствуйте, DLF, Вы писали:

DLF>Здравствуйте, mbergal, Вы писали:


M>>Сталкивались. Есть разные контексты.

M>>Было бы проще Вам помочь, если бы Вы привели конкретный пример.

DLF>Я понимаю, что в это трудно поверить, но думаю, что почти все контексты (каких нибудь 99%) в нашем веселом проекте покрыты, так что мне все интересно, просто, меня реально интересовало, что нибудь типа первого совета — переписать htmldecode(encode), хотя он не всегда выручает =(.


в том то и дело, если javascript используется в

<script>some_script<script>


теге, и javascript используемый в атрибутах тегов

<a  onclick="some_script">


надо кодировать по разному.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.