Форум: "Начинающим";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];
ВнизПрограммное управление Internet Explorer-ом Найти похожие ветки
← →
dmitry_12_08_73 © (2009-07-14 21:55) [0]Подскажите, как можно программно посылать команды в открытый Internet Explorer с целью, например, прокрутки веб-страницы
← →
TStas © (2009-07-14 23:37) [1]Программно можно вызыватьскрипты из страницы, которая загружена в экспролер. Если Вам нужно просто прокрутить страницу, ИМХО, нет разницы, браузер или ещё что-то, handle у Вас точно есть, шлите ему сообщения, как и всякому иному окну.
Я пробовал вызывать функции из скриптов браузера и наткнулся на непонятную мне особенность: им почему-то не получается передавать параметры, как параметры подпрграмм, но можно через глобальные переменные. Если Вам нужно, найду и повешу код.
← →
dmitry_12_08_73 © (2009-07-14 23:42) [2]Если можно, напишите пример сообщения для прокрутки веб-страницы
← →
palva © (2009-07-14 23:58) [3]Если известна величина, на которую надо прокрутить в пикселях, то применяют document.body.scrollTop Это надо аккуратно вытащить из браузера нужные интерфейсы и присвоить соответствующее свойство. Но говорят, если на странице указано DOCTYPE то это может не срабатывать.
Нюансы обсуждают, например, здесь.
http://web-silver.ru/forum/showthread.php?t=9347
← →
dmitry_12_08_73 © (2009-07-15 11:49) [4]palva, скажите, плиз, как из Delphi доступится к document.body
← →
palva © (2009-07-15 13:08) [5]Наверно проще всего так:
WebBrowser1.OleObject.document.body
Но крутые пацаны работают через интерфейсы. Смотрите примеры здесь:
http://www.cryer.co.uk/brian/delphi/twebbrowser/twebbrowser_oleobject.htm
← →
dmitry_12_08_73 © (2009-07-15 14:11) [6]Спасибо, palva, я так понимаю, что перед
WebBrowser1.OleObject.document.body
надо подключить к WebBrowser1 этот OleObject (например Internet Explorer), а как это сделать. Можете пример, если можно показать?
← →
palva © (2009-07-15 17:08) [7]Не понял, что подключать. На пустую форму кладем WebBrowser и Button Вставляем код в обработчики
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate("D:\C\delphi\t.htm");
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.OleObject.document.body.scrollTop := 20;
end;
запускаем проект и нажимаем на кнопку.
Чтобы это работало, html-код не должен содержать <!DOCTYPE... об этом уже шла речь. В противном случае работает такой код:WebBrowser1.OleObject.document.documentElement.scrollTop := 20;
Смотрите обсуждение по ссылке.
← →
dmitry_12_08_73 © (2009-07-15 17:22) [8]Большое спасибо, но у меня такой случай: есть уже открытый Internet Explorer с какой-то открытой веб-страницей (я не знаю её URL) и мне надо получить доступ к свойствам этой страницы через WebBrowser1.
← →
palva © (2009-07-15 17:39) [9]А какая проблема? Вы не можете определить DOCTYPE? html это или xhtml ?
Я тоже не знаю как это сделать. А залезать в google и искать решение не хочется. Особенно мне. Тогда давайте напишем две строчки подряд:
WebBrowser1.OleObject.document.body.scrollTop := 20;
WebBrowser1.OleObject.document.documentElement.scrollTop := 20;
Первая из них сработает когда в DOCTYPE указано html, а вторая, когда xhtml.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c