Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: javaScript and client charset  (Прочитано 25363 раз)
0 Пользователей и 10 Гостей смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 06-01-2006 09:07 » 

Есть ли способ при помощи ЖабаСкрипта узнать какой чарсет использует страница ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 06-01-2006 09:57 » 

Попробуй document.characterSet . Стоит проверить, есть ли он во всех основных браузерах... В Mozilla - есть, в IE - нет.

Что хочешь сделать?
« Последнее редактирование: 06-01-2006 09:59 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #2 : 06-01-2006 10:10 » 

Попробуй document.characterSet . Стоит проверить, есть ли он во всех основных браузерах... В Mozilla - есть, в IE - нет.

Что хочешь сделать?

Мдям, в IE нет Жаль
Ну может мне это и не так уж нужно.
А сделать я вообще вот что хотел :
при переходе на какую то мою страничку я получаю реферер, и хотел бы установить в каком энкодинге пришли параметры в QueryString'e
« Последнее редактирование: 20-12-2007 17:01 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 06-01-2006 10:18 » 

Видимо, в кодировке, первой указаной в $_SERVER['HTTP_ACCEPT_CHARSET']

Сделал тестик: IE вообще не отослал инфу о кодировках.
Кроме того, IE послал русский текст без перекодировки, а Mozilla - в виде %hex

Еще один тест: в QUERY_STRING - сырые данные, а в массивах $_POST и $_GET - уже перекодированные.

В в общем, бардак приличный...
« Последнее редактирование: 20-12-2007 17:08 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #4 : 06-01-2006 11:40 » 

В в общем, бардак приличный...

Улыбаюсь Согласен Улыбаюсь
Мне вообще то с использованием ПХП не нужно. ЯваСкрипт будет сидеть у клиента.
А моя АСП.НЕТ страничка получит данные и передаст дальше COM+ компоненту.
Суть в общем вот в чём :
Допустим я собираю статистику о том с каких поисковиков и по каким кейвордам приходили на мою страничку. Для этого я и хотел установить в каком энкодинге получаю я их чтобы в удобоваримом виде в базу записать Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 06-01-2006 11:49 » 

Страница имеет определенную кодировку, которая задана сервером в заголовке ответа. Пользовательский ввод будет приводиться к ней автоматически. Для сложных случаев, с применением фреймов, расчитать результат я не возьмусь.

Данные запросов GEТ и POST браузер приводит к кодировке страницы.
Т.е., в случае нормальной работы (страница получена и запрос с нее отправлен одному и тому же серверу) с кодировками на сервере проблем быть не должно. Тогда и в js тебе этим можно не заморачиваться.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #6 : 06-01-2006 12:07 » 

Ещё Улыбаюсь
Есть
Код:
test_image = new Image(1,1);
test_image.src = "http://www.blabla.com/Images/Logo.gif";
test_image.onload = function ()
{
   //code here
}
Как посчитать размер этого имеджа в байтах ?
« Последнее редактирование: 06-01-2006 12:15 от MOPO3 » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 06-01-2006 12:19 » new

Я такой возможности не знаю.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #8 : 06-01-2006 13:01 » 

В общем проблему решил Улыбаюсь Так как это мне требовалось для установления скорости интернет соединения, то просто локально положил картинку заранее зная сколько в ней байт Улыбаюсь

Теперь последний вопрос :
Где найти полный список диапазона скоростей ? В смысле чтобы выводить типа :
Dial-up
Cable
DSL
T1
etc...
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 06-01-2006 13:13 » 

Хм. Я всегда считал, что эти типовые скорости к реальности отношения не имеют. это быстрее подсказки для непросвещенных.

Посмотри в какой-нибудь игрушке или на каком-нибудь буржуйском download-е.

Dialup обычно оценивают в 56kbit/s, хотя реальные значения ниже (порой в несколько раз).
Cable - чисто штатовская штука. Я не слышал о распространнености этого доступа в Европе.
DSL - то же очень неправильный параметер. Буржуи оценивают его в 256-768kbit/s, а реально, это может быть от 64kbit/s до десятков мегабит.
T1 - североамериканский стандарт скорости для G.703 - 1544kbit/s на физическом уровне.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #10 : 06-01-2006 13:29 » 

Понятно.
И всё же ещё один вопрос :
По какой формуле считать скорость то ?
Т.е. я загружаю имедж определённых размеров и получаю время за которое был загружен файл.
Как теперь правильно считать ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 06-01-2006 13:39 » 

Жуть! Ты хочешь узнать программой на клиентской стороне, какова ширина канала до сервера?
Точность никто не гарантирует. Может он качает еще впараллель, либо сервер нагружет в этот момент.
Если только для предварительной установки данных формы, которую пользователь сможет поправить.

S = W / dt

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #12 : 09-01-2006 06:50 » 

Вернёмся опять к кодировкам Улыбаюсь
Устанавливаю для эксплорера и мозилы, а как для оперы ?
Код:
ie_specific = document.charset;
mozilla_specific = document.characterSet;
opera_specific = ???
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 09-01-2006 13:48 » 

Opera, как они объявляют, по языку соотвт. ECMAScript, а по окружению, по моему небольшому опыту работы с нею, ближе к IE.
Лучше не проверять браузер, а проверять наличие объектов, свойств и методов - это надежнее.
Код:
var charset;

if (document.characterSet) charset = document.characterSet;
else if (document.charset) charset = document.charset;
else charset = "";
Типа того. проверка один раз, а потом обращение только к переменной.
Аналогично можно настраивать ф-ий.
« Последнее редактирование: 09-01-2006 14:43 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #14 : 09-01-2006 15:11 » 

Всё это понятно, но ни document.characterSet ни document.charset под Оперой не работают Жаль
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 09-01-2006 16:58 » 

Пока мне сказать нечего. Попробуй поискать на сайте оперы - может там есть что-либо по интерфейсам. Ну и яндекс напряги.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #16 : 09-01-2006 17:02 » 

Ну и яндекс напряги.

Напрягаю  Улыбаюсь и не только яндекс  Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #17 : 10-01-2006 06:02 » 

Opera, как они объявляют, по языку соотвт. ECMAScript
Интересную вещь я у них нашол в документации Улыбаюсь Мааааленькими буквами напимано Улыбаюсь
Вот тут http://www.opera.com/docs/specs/ в разделе ECMAScript support есть текст
Цитата
ECMAScript is the standardized version of JavaScript Core. It is being standardized through the ECMA standards body.
ECMAScript does not include browser and document related objects.

Хммм... что то я не врубаюсь Жаль
В общем рыскал я пару часов по их сайту, и так и не нашол того что мне нужно Жаль
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #18 : 10-01-2006 08:14 » 

Всё, решение нашол.
В случае если не отрабатывает ни document.characterSet ни document.charset я просто использую document.getElementsByTagName('meta'); и далее просто разбираю строки на предмет нахождения charset, ну а если даже так не нахожу, тогда уже ничего и не поделаеш Улыбаюсь
« Последнее редактирование: 20-12-2007 17:09 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 10-01-2006 08:27 » 

Цитата
ECMAScript is the standardized version of JavaScript Core. It is being standardized through the ECMA standards body.
ECMAScript does not include browser and document related objects.

Хммм... что то я не врубаюсь Жаль
Речь тут о языке. Все правильно - и ECMAScript, и JavaScript, и JScript - разные диалекты одного языка. ECMAScript - попытка стандартизировать этот зоопарк. Вся эта троица не имеет отношение к среде исполнения, к которой относятся все эти объекты браузеров (window, document, navigator и т.д.). В языке стандартизированы только базовые объекты, такие как String, Array, Number, RegExp и т.д.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 10-01-2006 08:29 » 

А нужно ли таки? Может можно обойтись? Рассмотри еще раз возможности http.

Почитай у оперы про DOM HTML - если инфа есть, то должна быть там.

Цитата
charset   IE   No
........
HTMLMetaElement:
httpEquiv

HTMLScriptElement:
charset   HTML   Yes
« Последнее редактирование: 10-01-2006 08:40 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #21 : 10-01-2006 08:50 » 

А нужно ли таки? Может можно обойтись? Рассмотри еще раз возможности http.
Почитай у оперы про DOM HTML - если инфа есть, то должна быть там.
Обязательно почитаю, только нет времени сейчас на это. На данном этапе иеня пока устраивает найденое решение.

Ещё вопрос :
тут уже наверно из области ненаучной фантастики Улыбаюсь Можно ли при помощи жабаскрипта собирать инфу о клиенте типа о том какой у него проц, сколько рама и так далее ? Чую что занесло меня на повороте, но всё же Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #22 : 10-01-2006 09:11 » 

Ну, это уже из разряда хаков и нарушения прав - этого я не знаю. Поройся в navigator - вся доступная инфа о клиенте там должна быть.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #23 : 10-01-2006 09:17 » 

Ну, это уже из разряда хаков и нарушения прав - этого я не знаю. Поройся в navigator - вся доступная инфа о клиенте там должна быть.
УлыбаюсьУлыбаюсьУлыбаюсьУлыбаюсьУлыбаюсь

Есть кое-что, но под эксплорером только работает Улыбаюсь
Код:
var cpu = navigator.cpuClass;
 alert('CPU : ' + cpu);
« Последнее редактирование: 04-12-2007 20:31 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #24 : 10-01-2006 09:21 » 

Ох уж мне этот жабаскрипт Улыбаюсь
Просто запарится можно во всех этих версиях и реализациях.
Это работает тут, но не работает там. В итоге километры кода и головная боль с диким раздражением Жаль
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #25 : 10-01-2006 14:33 » 

Угу. Такое осчусчение, что разработчика давно его забыли и вопросы совместимости их не волнуют.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines