Twebbrowserコントロールにページを強制する方法が表示されていない場合
-
10-10-2019 - |
質問
DelphiコードからいくつかのJavaScript関数を実行する必要がありますが、Twebbrowserコントロールにページがロードされていない場合、この関数は失敗します。したがって、問題は、ページがタブシットにある場合にアクティブになっていない場合、タブシートがアクティブになるまでページがロードされないことです。
問題は、ページを強制的にロードする方法です Twebbrowser
これが見えない場合は制御します。
この動作をテストするには、2つのタブシートと2番目のタブシートにTwebbrowserを備えたPageControlを置くだけです。
WebBrowser1.Navigate('http://stackoverflow.com');
これで、アプリを実行すると、2番目のタブシートが表示されている場合にのみページが読み込まれます。
前もって感謝します。
解決
電話 WebBrowser1.HandleNeeded;
電話する前に WebBrowser1.Navigate
他のヒント
私はあなたが文書化する動作を再現することはできません。 1ページのコントロール、2つのタブ、2番目の(目に見えない)タブのWebbrowserに従いました。
ページが読み込まれているかどうかを知るために、Webbrowserのいくつかのイベントをキャプチャしました。私はそれを見る onBeforeNavigate
, onTitleChange
と OnNavigateComplete
2番目のタブシートを表示することなく、すべてが解雇されます。
JavaScriptコードをこれらのイベントのいずれかで実行するように設定すると、問題が解決する場合があります。
所属していません StackOverflow