Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Ajax перезаписывает Title броузера


Автор: alexhl 17.7.2007, 06:51
Здравствуйте,
1. Скажите можно ли имею ajax приложения менять заголовок страницы в броузере, 
    или заголовок будет всегда оставаться постоянным?

2. Все таки как лучше реализовывать ajax? Через скрытые фреймы, или ActiveX объект?

Если возможно то не большой примерчик smile
Заранее спасибо.

Автор: Kolyaj 17.7.2007, 09:29
Цитата(alexhl @  17.7.2007,  06:51 Найти цитируемый пост)
1. Скажите можно ли имею ajax приложения менять заголовок страницы в броузере, 
    или заголовок будет всегда оставаться постоянным?

Код

document.title = 'New title';

Цитата(alexhl @  17.7.2007,  06:51 Найти цитируемый пост)
2. Все таки как лучше реализовывать ajax? Через скрытые фреймы, или ActiveX объект?

Все зависит от задачи и ваших предпочтений. Можно еще через создание элементов SCRIPT.

Автор: alexhl 17.7.2007, 11:04
Спасибо, понял.
Наверняка вы встречались с проблемой нажатия кнопки назад в броузере используя аякс.
Что предпочтительнее для решения проблемы: скрытые фреймы или activeX

Автор: Diesel Draft 18.7.2007, 00:10
Цитата(alexhl @ 17.7.2007,  10:04)
Спасибо, понял.
Наверняка вы встречались с проблемой нажатия кнопки назад в броузере используя аякс.
Что предпочтительнее для решения проблемы: скрытые фреймы или activeX

XMLHttpRequest

Автор: szz 20.7.2007, 07:25
Цитата
Наверняка вы встречались с проблемой нажатия кнопки назад в броузере используя аякс.


Ага smile

Я решал это так: при просьбе клиента "загрузить другую страницу" - я страницу не загружаю, а просто вписываю в location.href анкор вроде "#another_page"

А саму страницу у меня грузит циклическая функция, которая постоянно работает:
Код

var last_href='';
always_working = function(){
   if(last_href!=location.href){
       // присвоим, чтоб в следующий раз не грузило, пока снова не поменяют страницу
        last_href=location.href;
       // вытаскиваем то самое, что добавили после #
        var the_page = location.href.split('#').pop();
       // а вот только теперь-то и грузим:
       какая_то_твоя_функция_загрузки_через_аякс(the_page);
   }
   setTimeout("always_working();", 120);
}


120мс - не случайно. Это максимальная задержка, которую человек "не замечает", между тактильным действием и визуально-вербальным приемом smile   Средний человек - какой-нить мастер конг-фу заметит наверное smile 

Вот. Если ничего не меняется, функция ничего не делает, поэтому много такой процесс жрать не будет.

Плюсы такого подхода: во-первых решается проблема с кнопками Назад-Вперед, во-вторых ссылку можно передавать, и страница всегда будет грузится правильная.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)