問題タブ [twebbrowser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
401 参照

javascript - 文字列onmouseoverjs値を取得および設定します

onmousedownいくつかの関数を実行したいのですがonmousedown、twebbrowserでこの関数をイベントなしで実行するにはどうすればよいですか?

適切な機能を教えていただけますか?

0 投票する
1 に答える
245 参照

browser - マルチタブ Web ブラウザによるアプリケーションのメイン フォームのオーバーロードを回避する方法は?

メイン フォームで複数TCppWebBrowserの を使用しています。アプリケーションを起動すると、最後のインターネット セッションのすべてのタブが復元されます。しかし、これにより、アプリケーションの主な形式が過負荷になります。私の質問は、メインフォームのオーバーロードをどのように回避できますか?

私はそれを達成しようとしましたが、成功しませんでした。C++ Builder のクラスを使用TThreadして、そこからナビゲーションを開始しようとしましたが、失敗し、メイン フォームがまだオーバーロードされています。私も試しましたCreateThread()-同じこと。

見つけた:

別のスレッドで作成された WebBrowser Control (MFC) は、Windows 7 および Vista で動作しますが、Windows XP では動作します

しかし、これはよくわかりません。

C++ Builder で私の質問を解決する方法を誰か教えてください!

0 投票する
2 に答える
3378 参照

delphi - 埋め込まれたYoutubeクリップでTWebBrowserがクラッシュする

これが私のコードです:

test.html

私のアプリケーションは両方の方法でクラッシュします。未処理のwin32例外が発生します(Flashプレーヤーが原因Exception EInvalidOp in module Flash10u.ocx at 00108657. Invalid floating point operation)。

  • このコードをD5、D7、D9で試しました。
  • SHDocVw.dllを再インポートしようとしました。
  • また、TWebBroserの代わりにEmbeddedWBコントロールを使用しようとしました...
  • Internet Explorer / Avant / Maxthonは、このHTMLに問題はありません(すべてIE ActiveXに基づいています)。

何か提案や修正はありますか?

このエラーをキャッチしたり、抑制したりするにはどうすればよいですか?

TWebBrowserイベントを介してその場でHTMLを操作または変更する方法はありますか?Ad-Blockersが機能するのと同じように、Flashプレーヤーの代わりに画像を表示できますか?(私の顧客はインターネット上のサイトにそのコードを持っており、私のDelphiアプリケーションは高速プレビューを提供します)

アップデート

TTimerを使用してFPUを有効/無効にしました(Arjenのアイデアに基づく):


更新(2)

アプリケーションの起動時にFPU例外をマスクすることになりました。それ以来、私のアプリケーションに(既知の)影響はありませんでした。

0 投票する
1 に答える
294 参照

multithreading - TWebBrowser スレッドに名前を付ける方法

TWebBrowser で Navigate または Navigate2 を呼び出すと、ブラウザを破棄するまで解放されない少なくとも 2 つの新しいスレッドが作成されます。

TThread.NameThreadForDebugging で名前を付けるために、TWebBrowser インスタンスによって生成されたスレッドのスレッド ID を取得する最良の方法 (ある場合) は何ですか?

0 投票する
3 に答える
4528 参照

delphi - TWebBrowserで印刷コマンドが終了したことを検出する方法は?

プレビューも同様です: WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT, vaIn, vaOut);

Print/Print Previewダイアログが完了し、ユーザーが印刷またはキャンセルを選択するまで待機する (またはイベントをトリガーする) 必要があります。

更新 (1)

この質問に基づいて、をテストしましたOnCommandStateChange。印刷ダイアログで印刷またはキャンセルした後に発生します。ただし、ダイアログが開く前に1 回または 2 回起動できます。

更新 (2) トリックを行う可能性のある回避策を見つけました (これは基本的な考え方です):

利用方法:

両方で機能します。あなたの考えを教えOLECMDID_PRINTOLECMDID_PRINTPREVIEW ください...

0 投票する
1 に答える
229 参照

delphi - TWebBrowserは元に戻すまたはやり直すことができます

TWebBrowerを使用して、元に戻すまたはやり直しの状態(CanUndo、Can Redo)を取得するにはどうすればよいですか?

これは常に間違っていますか?

0 投票する
1 に答える
2339 参照

delphi - EAccessViolation Finalization 例外 (mshtml.dll) を抑制する方法

アプリケーションでは TWebBrowser を使用します。

アプリが終了した後、一部の顧客コンピューター (IE9/Win7) で、例外がスローされます:"Access violation at address XXXX in module 'mshtml.dll'. Read of address XXXX"例外メッセージの無限ループで... 非常に醜い:/

これは非常に少数のコンピューターでのみ発生します (これまでのところ IE9/Win7 のみ)。私の PC でこの例外を再現できません。

JclDebugメインの dpr uses 句で定義されている最後のユニットも使用します-この例外をキャッチしていません。

この例外を完全に抑制する方法は?

アプリケーションは D5 で書かれています。

0 投票する
1 に答える
4519 参照

delphi - TWebBrowserコントロールをカスタムURLにリダイレクトするにはどうすればよいですか?

例:

  1. http://www.stackoverflow.comWebブラウザコントロールで移動します
  2. トップバーにFAQへのリンクがあります。https://stackoverflow.com/faq
  3. http://math.stackexchange.comFAQリンクをクリックしたときなどにリダイレクトする必要があります
0 投票する
0 に答える
2864 参照

delphi - WebBrowser SinkEvents および DesignMode = 'on'

Zarko Gajic は、次の記事とデモで、マウスが TWebBrowser ドキュメント上に移動したときにハイパーリンクの URL を取得する方法を示しています。 http://delphi.about.com/od/vclusing/a/wbsinkevents.htm このデモは、 WebBrowser が designmode = 'on' に設定されている場合、OnMouseMove イベントは実行されません。DesignMode = 'on' のときに OnMouseMove イベントが実行されるようにデモを拡張できますか? そうでない場合、Document.OnMouseMove イベントを作成する別の方法はありますか? Delphi 2010 を使用しています。

[編集]より多くのコードが要求されたので、ここに実装があります

[修正] webbrowserをdesignmodeに設定したらWebBrowser1DocumentCompleteが実行されないことが分かったので、DesignMode1Clickを変更して直しました。他の人もこれを見ることができるように、これを投稿します。

0 投票する
1 に答える
1628 参照

delphi - TEventObjectとWebBrowser

TEventObjectを提供するイベントOnMouseDownを作成しました。マウスを移動したり、Webブラウザーをクリックしたりすると、イベントは完全に機能しますが、Webブラウザーの垂直スクロールバーをスクロールまたはクリックすると、例外が発生します。EurekaLogは、d2d1.dllでEZeroDivide例外を報告します。例外をトラップしようとしましたが、試したことは何も機能していないようです。OnMouseMoveTWebBrowserEZeroDivide

私の質問は、どういうわけか例外を防ぐことができますか、それとも例外を防ぐためにTWebbrowser垂直スクロールバーのマウスダウンを検出できますか?この例外は、TEventObjectについてあまり詳しくなく、垂直スクロールバーをクリックまたはドラッグしたときにのみ例外が発生する理由がわからないため、解決するのが難しいものです。必要に応じて、より多くの情報を提供できます。コンパイラ:Delphi2010。

[編集] この投稿を参照してください:http: //www.codenewsfast.com/cnf/article/0/waArticleBookmark.7401953 非常にシンプルなデモアプリが http://dl.dropbox.com/u/2167512/bugsで入手できます。 /ie9/ie9_bug.zip

これにより、バグが防止されます。