| Автор
| Сообщение |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
как мне поставить кодировку страницы, возвращаемой вот этой функцией:
| Javascript: | function get_page(content, app, par) { if (window.XMLHttpRequest) var res=new XMLHttpRequest(); if (window.ActiveXObject) var res=new ActiveXObject("Microsoft.XMLHTTP"); var app_string=app+"?par1="+par; res.open('GET', app_string, false); // app_string - ссылка на скрипт вместе с параметрами в формате CGI res.send(null); if (res.status==200) content.innerHTML=res.responseText; //Изменяем контент элемента передаваемого параметром content }
|
Когда страница возвращает русские буквы - они отображаются некорректно, даже если я вручную ставлю кодировку меню браузера. Да это и не должно по логике помогать, также как и указание тегом в самой возвращаемой странице кодировки, т.к. все русские буквы за пределами динамической ячейки (т.е. страницы возвращаемой функцией get_page) - отображаются нормально. Т.е. дело не в этом. Как быть?
Добавлено спустя 1 час 27 минут 18 секунд:
С русскими буквами вопрос решила, но чуть позжебудет еще вопрос, применительно уже к моему реальному коду загружаемому по техн. аякс... |
|
| В начало |
|
 |
|
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Если через PHP то перед отправлеием буффера
| php: | header('Content-Type: text/html; charset=utf-8');
|
Где utf-8 это кодировка...
А так-же стоит посмотреть в какой кодировке сохраняется сам скрипт... |
|
| В начало |
|
 |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
| TuXAPuK писал(а): | Если через PHP то перед отправлеием буффера
| php: | header('Content-Type: text/html; charset=utf-8');
|
Где utf-8 это кодировка...
А так-же стоит посмотреть в какой кодировке сохраняется сам скрипт... |
Ага, я так и сделала с самого начала, только опечатку сделала и не заметила, подумала что не помогло.
Добавлено спустя 11 минут 19 секунд:
У меня вот какой еще вопросик по AJAX обновлению страниц.
Есть некий контент, к примеру ячейка таблицы, дадим ей ID="content", соответственно он обновляется некой функцией JavaScript, назовем ее - get_page(cont, script_url); Соотв. при нажатии каких-то там кнопочек менюшек всяких она (get_page) обновляет этот контент (указанный в параметре функции) соотв. скриптом (тоже указывается в параметрах функции, вместе с параметрами запроса). Изначально, при загрузке главной страницы эта функция должна естественно быть вызвана, чтобы наполнить наш контент (ID="content") какой-нить страницей, например main page content.
ВОПРОС:
Как сделать так, чтобы пользователь, просмотрев пару страничек потыкав по менюшкам (кот. в свою очередь вызвали функцию обновления контента), нажав кнопку "ОБНОВИТЬ" в браузере, не попал на главную страницу, а попал на ту страницу, на кот. он был, когда нажимал кнопку обновления страницы в браузере? Т.е. как сделать так, чтобы информация в контенте была той, которая была в последний раз изменена, а не той, что заполняется при первой загрузке всей страницы при заходе на сайт.? |
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Если-бы следила за темами в форуме то наверно заметила-бы
http://forum.chertenok.ru/viewtopic.php?t=7742#50406
Простейший вариант getCookie и setCookie тем-более записанные ждавой куки можно через php читать...
Добавлено спустя 38 минут 31 секунду:
Вот и примерчик....
| php: | <?php if ( isset($_COOKIE['lpage']) ) { switch ( $_COOKIE['lpage'] ) { case 'page1' : $context = <<< endoftext Загружаем первую страницу endoftext; break; case 'page2' : $context = <<< endoftext Загружаем вторую страницу endoftext; break; default : $context = <<< endoftext <h1>ОшиПка 404 :</h1><br> Файл не найден endoftext; } } else $context = <<< endoftext Выберите документ endoftext; $_1HourCookie = date("D, d-M-Y H:i:s T", time() + (1* 60* 60)); ?> <html> <head> <title>Тестовый файл</title> <script language="JavaScript"> function go($id) { document.cookie = "lpage="+$id+"; path=/; expires=<?=$_1HourCookie?>"; window.location.reload(); } </script> </head> <body> <input type="button" onclick="window.location.reload()" value="Перезагрузить"> <input type="button" onclick="go('page1')" value="Страница1"> <input type="button" onclick="go('page2')" value="Страница2"> <br> <div id="context"><?=$context?></div> <br /><br /> <textarea cols= "80" rows= "15"><?php var_dump($_COOKIE); echo($_1HourCookie) ?></textarea> </body> </html>
|
_________________
 |
|
| В начало |
|
 |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
| Ага, но тут нужно еще одно дополнение, будь то ты хранишь последнее посещение в $_COOKIE или в $_SESSION - при первой загрузке страницы - место в сессии, отвечающее за идендификацию последнего загруженного AJAX-контента должен быть к примеру пустой. Если он пустой - то загружаем главную страницу при обновлении, если же нет - то при обновлении загружаем тот контент, ид кот. хранится в нужном месте сессии. Главное, чтобы при загрузке главной страницы никакой установки переменных сессии (типа там $_SESSION["page"]="main" и т.д.) не было, иначе при обновлении будет всегда page=main. Вот так вот. |
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Не важно как ты это реализуешь... Для меня главное это навести тебя на мысль как сделать....
Вообще я в сессии не держу всякий хлам типо - на какой сидел пользователь...
Сессии хранятся на уровне сервера, там нужно держать важную информацию сервера... _________________
 |
|
| В начало |
|
 |
|