問題タブ [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 に答える
789 参照

delphi - TWebBrowser IE8のINPUT(テキスト)フィールドの最後にキャレット位置を設定する方法

TWebBrowserを介してWebページをロードするアプリケーションがあり、このページにいくつかのHTML入力があります。私が欲しいのは、入力の値を変更し、キャレットの位置を最後に設定することです。

これは私が現在持っているものです:

このコードは、入力値を設定し、テキスト部分を強調表示します。IHTMLInputTextElement2インターフェイスを認識していますが、IE9からのみ使用できます。

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

delphi - delphiの「カスタム」ブラウザでrequestHeadersを変更します

deplhiアプリケーション(IE)にブラウザーが統合されています。特定のWebアプリを呼び出す必要があり、jqueryがxhrobjにHTTP_X_REQUESTED_WITHパラメーターを追加するように、アプリケーションのブラウザーからのすべてのリクエストのヘッダーに新しい変数を追加する必要があります。どうすればそれができるかについてのアイデアはありますか?コードサンプルは素晴らしいでしょう。私はusinTWebBrowserです。

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

delphi - Internet Explorer でゼロ除算例外をデバッグする方法は?

Windows アプリケーションで Internet Explorer をホストしています。ドキュメントの一番下までスクロールできます。次に上にスクロールしようとすると、ゼロ除算の例外が発生します

ここに画像の説明を入力

クラッシュを使用してスクロールPage Upすると、への呼び出しでクラッシュが発生するようです-IOleInPlaceActiveObject:TranslateAccelerator

マウスを使用してスクロールすると、への呼び出し中にクラッシュが発生します

いずれにせよ、クラッシュは Internet Explorer で発生しています。

例外発生時に Delphi によって表示されるスタックトレース:

ここに画像の説明を入力

Jedi の例外トレースによって示されるスタック トレースとは異なります。

私はWinDbgでクラッシュをデバッグしようとしました:

しかし、Delphi はすべての例外をキャッチするため、漏れ出して WinDbg を壊すことはありません。(または、それが WinDbg が壊れない理由かもしれません)。

Delphi が例外をキャッチするのを止めて、アプリケーションが werfault クラッシュを許可されるようにするにはどうすればよいですか。これにより、問題の原因となっている命令を取得できます。これは浮動小数点の例外です。ゼロで除算しようとしているコードがどこかにあります。


他の誰かが同じ状況で同じクラッシュを起こしています:

サードパーティのアドオンをすべて無効にし、IE をセーフ モードで実行してみるという Microsoft からの有益な提案を受けて。

この問題を経験しているのは私だけではないことを証明できてうれしいです。私は解決策にもっと興味があります。


命令で浮動小数点制御ワードを操作することにより、浮動小数点ユニットに例外を発生させないように要求することにより、例外をマスクできます。FLDCW

それでも、例外をスローしているを見つける方法を知りたいです。

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

javascript - Delphi TWebBrowser の Javascript、スレッドを閉じる

ユーザーが Google マップを使用できるようにするシステムをデルフィで構築しようとしています。すべて正常に動作しますが、新しい TWebBrowser オブジェクトが作成され、Google マップを処理する JavaScript が読み込まれるたびに、多数の新しいスレッドが生成されることに気付きました。

私の問題は、Web ブラウザーが破棄されても (そして確実に破棄されても)、作成されたスレッドが存続することです。このプログラムは、実行時間が長くなり、Google マップの開閉が何度も発生するように設計しています。そのため、しばらくすると、非常に多くのスレッドが生成されて終了せず、プ​​ログラムが劇的に遅くなります。

これらのスレッドを自分で破棄する方法はありますか、またはスレッドが持続する原因となっている何か間違ったことをしていますか?

次のコードに基づいてプログラムを作成しています。

プログラムは、HTMLWindow を about:blank に移動するように設定する基本的なデストラクタを使用します。前もって感謝します

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

multithreading - 別のスレッドで TWebBrowser を更新しますか?

TWebBrowser を使用して Google マップを表示します。問題は、マップの読み込み中にメインの ui スレッドがブロックされることです。別のスレッドでマップを更新することは可能ですか?

編集: RRUZあなたの言う通り TWebBrowser には URL の非同期読み込みがあります。しかし、なぜそれが呼び出しをブロックするのかという問題を見つけました:

そして方法:

したがって、コードをリファクタリングする必要があるため、これを修正するようです。しかし、これはこの質問の範囲ではありません。

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

delphi - IHTMLElement.body.innerHTMLをansi文字列として取得します

UnicodeシンボルのHTMLマークアップがあります:

&#968;IHTMLTxtRange.pasteHTMLを使用して挿入するシンボル。また、HTMLDocument2.body.innerHTMLを使用する場合は、を取得したいのです<P>&#968;</P>が、Unicode文字の文字列関数の文字列表現の代わりにUnicode BSTRを返します。ここで&#968;(ψ)はUnicode文字です$ 03C8

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

html - RSSフィードの出力をHTML形式でTWebBrowserに表示するにはどうすればよいですか?

rssフィードの出力をTWebBrowserコンポーネントでフォーマットされたHTMLで表示したいのですが、このフィードをhttp://code.google.com/feeds/p/v8/svnchanges/basicでTWebbrowserにロードすると、 XMLファイルとしてのコンテンツ

ここに画像の説明を入力してください

しかし、IEを使用して同じページをロードすると

ここに画像の説明を入力してください

この質問CSSとTWebbrowserdelphiで提案されているように、ロードされたIHTMLDocument2にcssを挿入しようとしましたが、それでも同じ結果が得られます。

問題は、RSSフィードをTWebbrowserにロードする方法ですが、IEのように出力をHTMLドキュメントとして表示するにはどうすればよいですか?

0 投票する
4 に答える
28435 参照

delphi - TWebBrowser から HTML ソース コードを取得する方法

WebBrowser コンポーネントからソース コードを取得するにはどうすればよいですか?

WebBrowser コンポーネントでアクティブなページのソース コードを取得し、Memo コンポーネントに書き込みます。

ありがとう。

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

delphi - 埋め込まれたiframe要素のOnDocumentCompleteイベントを回避するにはどうすればよいですか?

要素が毎回イベントiframeをトリガーしないようにしたい。OnDocumentCompleteたとえば、ページには4つのiframeがあり、このページを読み込むと、OnDocumentCompleteイベントが4回実行されます。OnDocumentCompleteページごとに1回だけ実行したい。どうやってやるの?

たぶん、私はコントロールを削除またはブロックすることができiframesますTWebBrowser

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

delphi - TWebBrowser の描画を最適化して、合計 CPU 使用率を削減

TWebBrowerHTML ドキュメントをロードするコンポーネントを含むフォームがあります。HTML ドキュメントのデータは数秒ごとに更新され、1 秒ごとに複数回更新されることもあります。Delphi の値を次のように更新します。

問題は、すべての更新が完了するまで、ウィンドウ/Web ブラウザーをロックして、ペイント/更新できないようにすることです。これを行う方法はありますか?に電話しますか

合計 CPU 使用率が継続的に高くならないように、このコードを最適化するための助けが必要です。