Как заставить загружать страницу в управлении Twebbrowser, когда это не видно

StackOverflow https://stackoverflow.com/questions/4179377

  •  10-10-2019
  •  | 
  •  

Вопрос

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

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

Чтобы проверить это поведение, просто поместите ячелон с 2 таб -листами и Twebbrowser во втором таблице, теперь в событии Create в форме. Поместите этот код

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top