|
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 |
|
07.10.2006, 00:35 | #2 | |
|
Цитата:
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 |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
страницы | 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 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|