Использовать событие OnDocumentComplete у TWebBrowser при наличии фреймовDelphi , Интернет и Сети , БраузерИспользовать событие OnDocumentComplete у TWebBrowser при наличии фреймов
Оформил: DeeCo { When loading a page based on different frames into webbrowser control, "ONDocumentComplete" fires each time one of the frames gets completed. How can I find out, when this last Point is reached and get this final url? } { Wenn eine Seite mit Frames in den Webbrowser geladen wird, wird "OnDocumentComplete" jedesmal ausgelцst, wenn eine Frame fertig geladen ist. Ich benцtige bei aber ein Ereignis, nachdem alle Frames geladen wurden. Aus der Hilfe geht hervor, dass dies mit dem Ereignis OnDocumentComplete realisiert werden kann. } procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var CurWebrowser: IWebBrowser; TopWebBrowser: IWebBrowser; Document: OleVariant; WindowName: string; begin CurWebrowser := pDisp as IWebBrowser; TopWebBrowser := (Sender as TWebBrowser).DefaultInterface; if CurWebrowser = TopWebBrowser then ShowMessage('Complete document was loaded') else begin Document := CurWebrowser.Document; WindowName := Document.ParentWindow.Name; ShowMessage(Format('Frame "%s" was loaded', [WindowName])); end; end; Проблема заключается в том, что событие Вот возможное решение:
Вот обновленный код:
В этом коде Обратите внимание, что вам может потребоваться изменить логику в зависимости от вашей конкретной задачи. Альтернативное решение - использовать метод
Эта APPROACH более проста, но она требует ссылки на интерфейс Когда страница с рамками загружается в контроле TWebBrowser, событие OnDocumentComplete происходит каждый раз, когда загружается одна из рамок, и для определения момента, когда это последнее событие произошло, можно использовать переменную URL, которая бу Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |