Показать сообщение отдельно
  #4 (permalink)  
Старый 16.03.2010, 22:37
Интересующийся
Отправить личное сообщение для Serge Ageyev Посмотреть профиль Найти все сообщения от Serge Ageyev
 
Регистрация: 16.03.2010
Сообщений: 12

Сообщение от Gvozd Посмотреть сообщение
1)стоит обернуть скрипт в замыкание, вынеся наружу только encodeFormField(). незачем загромождать глобальную область видимости тем, что пользователь не будет непосредственно использовать
Была такая мысль, но строка преобразования и encodeFormFieldIsPageOnUTF8() используется в unit тестах.
Впрочем, в каком-нибудь из следующих релизов скорее всего так и сделаю.

Сообщение от Gvozd Посмотреть сообщение
2)"внимательны" по английски пишется как careful
Спасибо, хорошо что остались люди читающие комментарии :-)

Сообщение от Gvozd Посмотреть сообщение
3)encodeFormFieldIsPageOnUTF8 невнятная какая-то
первое условие мне кажется может не сработать если скрипт подгружается на страницу, а не вшит в нее.
последующие два, мне вообще непонятны.
Согласен, условия выглядят странно, но они подобраны опытным путем,
исходя из того, как "ломают" строку различные браузеры при загрузке скрипта в UTF8 (так как она, не является UTF8 строкой).
Одни ломают длину, другие контент.
По большому счету, скрипт не предназдначен для не UTF-8 сайтов, это скорее emergency fallback (еще бы найти для него солющен под IE...).

Сообщение от Gvozd Посмотреть сообщение
мне кажется гарантию дал бы способ состоящий из двух подспособов:
1)если есть meta с указанием кодировки, то используем его
Так и делал, пока не подобрал условия, чем сильно упростил код :-)
Впрочем, повторюсь, скрипт не предназдначен для работы на UTF8 сайтах (ибо он там не нужен).
Сообщение от Gvozd Посмотреть сообщение
2)если его нету, то делает ajax-запрос этой же страницы, для выяснения заголовков, и сохраняем кодировку в cookie.очень плохая идея, учитывая, что страница может быть и динамической, и выполнять какие-то действия при своей генерации
других идей пока нет
Можно и так, но скрипт перестает быть self-contained, кроме того возникает куча вопросов с асинхронной загрузкой + выглядит тяжеловесно...
Ответить с цитированием