Twebbrowserコントロールにページを強制する方法が表示されていない場合

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

  •  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, onTitleChangeOnNavigateComplete 2番目のタブシートを表示することなく、すべてが解雇されます。

JavaScriptコードをこれらのイベントのいずれかで実行するように設定すると、問題が解決する場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top