Как принудительно загрузить страницу в элементе управления Twebbrowser, когда это не видно - PullRequest
7 голосов
/ 14 ноября 2010

Мне нужно выполнить некоторые функции javascript из кода Delphi, но эта функция завершается ошибкой, если страница не загружена в элемент управления Twebbrowser.поэтому проблема в том, что если страница находится в таблице, которая не активна, страница не загружается до тех пор, пока таблица не станет активной.

вопрос заключается в том, как принудительно загрузить страницу в элемент управления Twebbrowser, когда

, чтобы проверить это поведение, просто поместите pagecontrol, с 2 вкладками и броузером на второй вкладке, теперь в событии oncreate формы поместите этот код

WebBrowser1.Navigate('http://stackoverflow.com');

теперь, когда вы запускаете приложение, страница загружается только тогда, когда вы делаете вторую вкладку видимой.

заранее спасибо.

Ответы [ 2 ]

12 голосов
/ 15 ноября 2010

Позвоните WebBrowser1.HandleNeeded;, прежде чем позвонить WebBrowser1.Navigate

0 голосов
/ 14 ноября 2010

Я не могу воспроизвести то поведение, которое вы задокументировали. Я следовал вашим инструкциям: одна страница, две вкладки, веб-браузер на второй (невидимой) вкладке.

Чтобы узнать, загружается ли страница, я зафиксировал некоторые события веб-браузера. Я вижу, что onBeforeNavigate, onTitleChange и OnNavigateComplete все увольняются без необходимости делать видимой вторую таблицу.

Настройка кода JavaScript для выполнения под одним из этих событий может решить вашу проблему.

...