2010-11-14 19 views
7

tôi cần phải thực hiện một số chức năng javascript từ mã delphi, nhưng chức năng này không thành công nếu trang không được tải trong điều khiển Twebbrowser. do đó, vấn đề là nếu trang nằm trong một tabshet không hoạt động, trang sẽ không được tải cho đến khi tabsheet được kích hoạt.Làm thế nào để buộc tải một trang trong Twebbrowser kiểm soát khi điều này là không thể nhìn thấy

câu hỏi là Cách buộc tải trang trong điều khiển Twebbrowser khi điều này không hiển thị.

để kiểm tra hành vi này chỉ cần đặt một pagecontrol, với 2 tabsheets, và một twebbrowser trong tabsheet thứ hai, bây giờ trong trường hợp onCreate của mẫu đơn đặt mã này

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

bây giờ khi bạn chạy các ứng dụng của trang chỉ tải khi bạn hiển thị tabsheet thứ hai.

cảm ơn trước.

+0

liên quan - http://stackoverflow.com/questions/2070084/delphi-missing-ui-control-on-tab-why-calling-handleneeded-fixes-it –

Trả lời

11

Gọi WebBrowser1.HandleNeeded; trước khi bạn gọi WebBrowser1.Navigate

+0

Cảm ơn rất nhiều, hoạt động hoàn hảo. – Salvador

+0

Tìm thấy điều này sau khi có cùng một vấn đề chính xác. Làm việc tuyệt vời, cảm ơn. –

0

Tôi không thể tạo lại hành vi bạn ghi lại. Tôi đã làm theo hướng dẫn của bạn một điều khiển trang, hai tab, webbrowser trên tab thứ hai (vô hình).

Để biết liệu trang có tải hay không, tôi đã chụp một số sự kiện của trình duyệt web. Tôi thấy rằng onBeforeNavigate, onTitleChangeOnNavigateComplete tất cả đều được kích hoạt mà không phải hiển thị tabsheet thứ hai.

Đặt mã javascript của bạn để thực thi theo một trong những sự kiện đó có thể giải quyết được sự cố của bạn.

Các vấn đề liên quan