Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

setTimeout и перезагрузка страницы

Обсуждение темы setTimeout и перезагрузка страницы в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Добрый день! Столкнулся с проблемой. Обновляю страницу спомощью JavaScript-функции setTimeout. Вызываю так: <script> function updateInfo() { var form_name = document.f_rep_queue; form_name.action = "<path>"; ...


Закрытая тема
 
Опции темы
Старый 06.10.2006, 14:14   #1
Добрый день!

Столкнулся с проблемой. Обновляю страницу спомощью JavaScript-функции setTimeout.

Вызываю так:

<script>
function updateInfo() {
var form_name = document.f_rep_queue;
form_name.action = "<path>";
form_name.submit();
}
setTimeout( "updateInfo()", 10*1000);
</script>

Всё работает замечательно, каждый раз вызывается процедура БД <path>. Всё обновляется! Однако, если же пользователь находиться не на первом экране (scroll bar сдвинут вправо или вниз), то после каждого выполнения функции updateInfo(), броузер показывает страницу с начала (верхний левый угол).
Скажите, есть ли возможность, обновляя страницу, указать, в каком месте экрана в данный момент находился пользователь.

От submit() можно отказаться, заменив refresh(), если только каждый раз броузер не будут ругаться, что данные на странице устарели.

Заранее благодарен за советы!
С уважением,
Flukky
 
Старый 06.10.2006, 14:14
Ссылки
Старый 07.10.2006, 00:35   #2
Цитата:
Flukky:
Скажите, есть ли возможность, обновляя страницу, указать, в каком месте экрана в данный момент находился пользователь.
1. Текущее положение экрана пишется на Javascipt в переменную ifloatY.
2. Есть функция scroll(x,y), которая прокручивает окно до определеной позиции.

Можно сделать так: javascript постоянно записывает текущее положение. Вроде есть функция setTimeout('функция',время_в_миллисек). Она повторяет функцию через промежуток времени.

Так вот сделать функцию, которая будет писать это положение в <input type="hidden" name="xxx" value="значение"> или запускать скрипт так - script.php?xxx=значение

Ну а дальше следующий скрипт (или этот же) принимает это значение и включает функцию scroll которая смещает экран.

... Это была теория, тперь надо подумать как всё написать...
 
Старый 09.10.2006, 19:56   #3
MasMax, спасибо за информацию. Сделал так:
positionX = window.pageXOffset;
positionY = window.pageYOffset;
form_name.p_screen_position_x.value = positionX;
form_name.p_screen_position_y.value = positionY;

И при загрузке scroll(p_screen_position_x.value,p_screen_position _y.value);

Работает идеально, но только в случае, если navigator.appName != "Microsoft Internet Explorer". Для IE пока не могу решить задачу. Что за переменная ifloatY ?

Flukky добавил [date]1160411302[/date]:
А для IE будет так:
positionX = window.pageXOffset;
positionY = window.pageYOffset;

Вот чуток теории:
IE stores the current vertical scrollbar position in a property called "document.body.scrollTop". The horizontal scrollbar position is in "document.body.scrollLeft". This is a pixel value.

Netscape stores the same values in "window.pageYOffset" (for the vertical scrollbar) and "window.pageXOffset" (for the horizontal scrollbar). If a scrollbar doesn't exist in a window, both browsers return a 0 (zero) for its position's value.

Взято отсюда: http://codepunk.hardwar.org.uk/ajs02.htm
 
Старый 09.10.2006, 19:56
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
страницы vik7878 ASP, Perl, PHP и MySQL 3 08.08.2006 16:33
Вес страницы BESTIARI Кальянная 10 28.02.2005 22:42
Сохранение страницы Nikolos HTML, CSS, JavaScript 10 06.02.2005 18:34
Страницы... Денисон HTML, CSS, JavaScript 3 02.09.2004 19:44
Перезагрузка гифов при onmouseover/out candy_man Зал дебютантов 0 23.09.2003 02:02


Текущее время: 23:21. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум