Авто-прокрутка WebBrowser
Alien Дата: Пн, 22 Ноября 2010, 09:27 | Сообщение # 1
Требуется авто-прокрутка объекта WebBrowser, решил проблему так: Code
RAC_SendKeys "{PGDN}" ""
Ну аналогично со штатной командой SendKeys Работает как хотелось, но подвело, когда ползунок становится в два раза меньше объекта браузера, то авто-прокрутка работает только до середины. В чем проблема? И можно ли как-то сделать авто-прокрутку другими способами?
Сообщение Требуется авто-прокрутка объекта WebBrowser, решил проблему так: Code
RAC_SendKeys "{PGDN}" ""
Ну аналогично со штатной командой SendKeys Работает как хотелось, но подвело, когда ползунок становится в два раза меньше объекта браузера, то авто-прокрутка работает только до середины. В чем проблема? И можно ли как-то сделать авто-прокрутку другими способами? Автор - Alien Дата добавления - 22 Ноября 2010 в 09:27
Сергей Дата: Пн, 22 Ноября 2010, 09:43 | Сообщение # 2
Quote (Alien )
И можно ли как-то сделать авто-прокрутку другими способами?
можно, где в недрах форума есть пример Дембеля, там прокрутка на яваскрипте и помоемому с применением библиотек... Или в сети найти исполнение на js. Quote (Alien )
В чем проблема?
если дублировать?! Как только стало в два раза меньше, то продублировать команду
Сообщение Quote (Alien )
И можно ли как-то сделать авто-прокрутку другими способами?
можно, где в недрах форума есть пример Дембеля, там прокрутка на яваскрипте и помоемому с применением библиотек... Или в сети найти исполнение на js. Quote (Alien )
В чем проблема?
если дублировать?! Как только стало в два раза меньше, то продублировать командуАвтор - Сергей Дата добавления - 22 Ноября 2010 в 09:43
Alien Дата: Пн, 22 Ноября 2010, 10:04 | Сообщение # 3
Сергей , спасибо за подсказку, что-то я про js и не подумал даже Сделал так: на странице: Code
<script type="text/javascript"> function ToDown() { for (i=0; i<=1000000; i+=100000) window.scroll(1, i) } </script>
И выполнять с помощью BrowserExecScript Code
BrowserExecScript "WebBrowser" "ToDown();" "JScript"
Сообщение Сергей , спасибо за подсказку, что-то я про js и не подумал даже Сделал так: на странице: Code
<script type="text/javascript"> function ToDown() { for (i=0; i<=1000000; i+=100000) window.scroll(1, i) } </script>
И выполнять с помощью BrowserExecScript Code
BrowserExecScript "WebBrowser" "ToDown();" "JScript"
Автор - Alien Дата добавления - 22 Ноября 2010 в 10:04
Сергей Дата: Пн, 22 Ноября 2010, 10:35 | Сообщение # 4
ну вот видишь. У тебя даже компактный код на яве получился А мне в свое время мега скрипты поподались Если не трудно, распиши для будущего поколения, что означают магические цыфры 1000000
Сообщение ну вот видишь. У тебя даже компактный код на яве получился А мне в свое время мега скрипты поподались Если не трудно, распиши для будущего поколения, что означают магические цыфры 1000000 Автор - Сергей Дата добавления - 22 Ноября 2010 в 10:35
Alien Дата: Пн, 22 Ноября 2010, 10:58 | Сообщение # 5
Quote (Сергей )
что означают магические цыфры 1000000
ну почему сразу магические, скроллит по 100000 пикселей до миллиона, чтоб на всякий случай, т.к. конец страницы неизвестен. Хотя есть ещё один способ, создать пустой объект в конце страницы с определенным id, например: Code
<div id="ToDown"></div>
И ссылать к этому элементу типа http://loacalhost/#ToDown Но, это не мой вариант.Добавлено (22 Ноябрь 2010, 10:58) --------------------------------------------- Вот ещё способ
Code
window.scrollTo(0, document.body.scrollHeight);
Сообщение Quote (Сергей )
что означают магические цыфры 1000000
ну почему сразу магические, скроллит по 100000 пикселей до миллиона, чтоб на всякий случай, т.к. конец страницы неизвестен. Хотя есть ещё один способ, создать пустой объект в конце страницы с определенным id, например: Code
<div id="ToDown"></div>
И ссылать к этому элементу типа http://loacalhost/#ToDown Но, это не мой вариант.Добавлено (22 Ноябрь 2010, 10:58) --------------------------------------------- Вот ещё способ
Code
window.scrollTo(0, document.body.scrollHeight);
Автор - Alien Дата добавления - 22 Ноября 2010 в 10:58
Сергей Дата: Пн, 22 Ноября 2010, 11:20 | Сообщение # 6
Quote (Alien )
чтоб на всякий случай
ну тогда уж программно узнавать высоту скрол-ой страницы
Сообщение Quote (Alien )
чтоб на всякий случай
ну тогда уж программно узнавать высоту скрол-ой страницы Автор - Сергей Дата добавления - 22 Ноября 2010 в 11:20
Alien Дата: Пн, 22 Ноября 2010, 12:54 | Сообщение # 7
ну я это и сделал в следующем примере
Сообщение ну я это и сделал в следующем примере Автор - Alien Дата добавления - 22 Ноября 2010 в 12:54
Сергей Дата: Ср, 24 Ноября 2010, 20:10 | Сообщение # 8
тоже нужно было выравнивание по центру скролла, в общую копилку Существует несколько функций для скроллинга: window.scroll, window.scrollby, window.scrollTo Если надо, то в сети найдете описание к каждой функции JS:(window.scrollTo)
Code
//позиция слева var lf = parseInt(document.body.scrollWidth/2); //позиция сверху var tp = parseInt(document.body.scrollHeight/2); //скроллим window.scrollTo(lf, tp); //В место lf и tp прописываем свои числа, если надо /* или компактно: */ window.scrollTo(document.body.scrollWidth/2,document.body.scrollHeight/2);
NB: Quote
BrowserExecScript "wb" "var lf = parseInt(document.body.scrollWidth/2);|var tp = parseInt(document.body.scrollHeight/2);|window.scrollTo(lf, tp);" "JScript" .соответственно одной строкой BrowserExecScript "wb" "window.scrollTo(document.body.scrollWidth/2,document.body.scrollHeight/2);" "JScript"
Сообщение отредактировано Сергей - Вс, 03 Апреля 2011, 13:32
Сообщение тоже нужно было выравнивание по центру скролла, в общую копилку Существует несколько функций для скроллинга: window.scroll, window.scrollby, window.scrollTo Если надо, то в сети найдете описание к каждой функции JS:(window.scrollTo)
Code
//позиция слева var lf = parseInt(document.body.scrollWidth/2); //позиция сверху var tp = parseInt(document.body.scrollHeight/2); //скроллим window.scrollTo(lf, tp); //В место lf и tp прописываем свои числа, если надо /* или компактно: */ window.scrollTo(document.body.scrollWidth/2,document.body.scrollHeight/2);
NB: Quote
BrowserExecScript "wb" "var lf = parseInt(document.body.scrollWidth/2);|var tp = parseInt(document.body.scrollHeight/2);|window.scrollTo(lf, tp);" "JScript" .соответственно одной строкой BrowserExecScript "wb" "window.scrollTo(document.body.scrollWidth/2,document.body.scrollHeight/2);" "JScript"
Автор - Сергей Дата добавления - 24 Ноября 2010 в 20:10