問題タブ [mshtml]
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.
delphi - TWebBrowser に他のコントロールのアクセラレータ文字を無視させる方法は?
designMode が有効なフォームに TWebBrowser を配置しました。
ブラウザの下に、キャプションが「閉じる」に設定された閉じるボタンがあります。
WebBrowser 内のドキュメントの内容を編集しているときにキー E を押すと、閉じるボタンが呼び出されます。
キーを処理しない、および/または文字を受け入れない他のコントロール (TButton など) のように、TWebBrowser を扱っているようです。
どうすればこれを解決できますか?
前もって感謝します。
delphi - Application.ProcessMessages を使用せずに MSHTML ドキュメントを読み込む別の方法はありますか?
Application.ProcessMessages を使用せずに MSHTML ドキュメントを読み込む別の方法はありますか?
ドキュメントを IHTMLDocument にロードするには、次のようにする必要があります。
ロード中にすべてのメッセージ キューを処理したくありません。アプリケーション フローを変更するためです。
IHTMLDocument がロード プロセスで進むと予想される特別なメッセージ コードがありますか? または、ロードする別の方法はありますか?
javascript - この window オブジェクトに eval 関数がないのはなぜですか?
IEのYUI リッチ エディット デモで興味深い (?) 問題に遭遇しました。window
ブラウザーとして使用されるコンテンツ編集可能フレームのオブジェクトを見ると、eval
関数が未定義であることがわかります (以下を実行すると)。
これは IE でのみ発生し (IE6 と IE8 で確認しました)、Firefox や Chrome では発生しません。
他のすべての関数とプロパティは順調に進んでいるようです。これは実際には定義されていませんが、グローバルオブジェクトで定義されているwindow
ことに気付きましたが、ブラウザではがグローバルオブジェクトであることがわかりました(他のすべてのウィンドウにも表示されるので、なぜですか?これで?)。eval
window
window
eval
これがIEの既知のバグ/制限であるかどうか、およびeval
このフレームのグローバルオブジェクトのコンテキストでどのように取得できるかを知っている人はいますか? (このフレーム内から実行されているものすべてに副作用を利用できるようにする必要があります)。
c# - C#/.NET 4.0 の新しい NoPIA および Type Equivalence 機能は、Microsoft.mshtml.dll が不要になったことを意味しますか?
IE Web ブラウザー コントロールに基づく WinForms ベースの WebBrowser コントロールを含む WPF ベースのアプリケーションを維持しています。展開するときは、Microsoft.mshtml.dllも提供し、ClickOnce 発行プロセスのためにいくつかのカスタム構成を行って、動作させる必要がありました。
C# 4.0の新しいNoPIAとType Equivalence機能と動的型機能により、アップグレードすれば、Microsoft.mshtml.dllアセンブリへの依存関係を削除できると期待できますか? もしそうなら、これは展開のサイズをかなり縮小するだけでなく、公開プロセスも簡素化します.
通常は自動的に生成される型を、Visual Studio による MapPoint コントロールなどの COM 型の追加アセンブリに埋め込むことができるようにする必要があることを理解しています。これがMicrosoft.mshtml.dllにも当てはまるかどうか、または最も単純なケースでもどのように行われるかはわかりません。これらの新機能が、COM 相互運用機能、特にMicrosoft.mshtml.dllアセンブリに依存するプロジェクトに実際にどのような影響を与えるかについて誰かが説明できれば、非常に助かります。
c# - HTMLテキスト要素値の設定
C#WPFプログラムで、次のようText
に定義されたHTML要素の値を設定しようとしています。
私は次のことを試しました:
しかし、次の例外が発生します。
Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.HTMLInputTextElement'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3050F520-98B5-11CF-BB82-00AA00BDCE0B}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
それが何を言っているかは知っていますが、テキストボックスにアクセスするためにどのオブジェクトを使用できるかわかりません。
私は何が間違っているのですか?
c# - C# を使用して JavaScript で作成されたカスタム オブジェクトでメソッドを呼び出すにはどうすればよいですか?
WebBrowser コントロールがあります。head タグに JavaScript を追加しました。アラートを追加すると、期待どおりに機能していることがわかります。このjs内で関数を作成し、そのプロトタイプにいくつかのメンバーを次のように追加しています:
次に、C# の内部に戻ります。
テスト オブジェクトが ComObject であることがわかりますが、run() を呼び出しても何も起こりません。エラーは発生しませんが、何も起こりません。このタイプのカスタムオブジェクトを呼び出す方法を知っている人はいますか?
また、createTest() メソッドを削除したいとします。C# からテストの新しいインスタンスを作成するにはどうすればよいでしょうか?
また、ボーナス ポイントとして、C# コードにコールバックするように、このカスタム オブジェクト (たとえば「完全な」メンバー) にイベントをアタッチすることについて知っておく必要がある特別なことはありますか?
delphi - プログラムで tiff 画像 (または pdf) を回転する
TWebBrowser コントロール (Delphi を使用) で画像 (jpg または gif) を回転させる方法を知っている人はいますか?
アップデート
ファイルはローカルになります。
Update 2 だから、問題は画像やPDFを回転させる方法だと思います。
c# - BHOメモリリーク
私はこのチュートリアルに基づいてBHOを作成しました:http: //www.codeproject.com/KB/cs/Attach_BHO_with_C_.aspx
私GetSite
とSetSite
はチュートリアルリストと同じです。OnDocumentComplete
ハンドラーを追加/削除し、 SetSite関数SHDocVW.WebBrowser webBrowser
内で割り当てていますIObjectWithSite
デバッグの目的で、基本的な機能を除くすべてを削除しました。これが私のOnDocumentComplete
ハンドラーです。
VS2008デバッガーをIEインスタンスに接続すると、それぞれのウィンドウ/タブが閉じられた後、ロードされたすべての.jsがスタックしていることに気付きます。OnDocumentCompleteの条件をfalseに設定すると(またはBHOを無効にすると)、リークはなくなります。mshtml.HTMLDocumentで実行する必要のあるクリーンアップは他にもありますか?ありがとう!
c++ - 32 ビット アプリの WebBrowser コントロール window.open() 呼び出しで 64 ビット Internet Explorer を起動します。
Windows 7 64 ビットで 32 ビット アプリケーションを実行しています。アプリケーション (C++ で記述) は、WebBrowser コントロールをホストします。
WebBrowser コントロールが (javascript window.open() 呼び出しによって) 新しいウィンドウをポップアップするように要求されると、新しい Internet Explorer プロセスを起動します。特に、この新しい IE プロセスは 64 ビット IE プロセスです。
Web ページは Adobe Flash が大好きなので、残念ながら、AdobeFlash コンテンツを表示できるように、起動する新しい IE プロセスが 32 ビット バージョン (私のマシンのデフォルト) であることを確認する必要があります。
興味深いことに、IE 自体 (WebBrowser/MSHTML のラッパー) にはこの問題はありません。これは、32 ビット プロセスを起動するよう WebBrowser コントロールにヒントを与えるように設定できる何らかの構成があることを意味します。
WebBrowser/MSHTML が適切なプロセスを作成することを確認する必要があるアイデアはありますか?
c# - C#: mshtml.HTMLInputFileElement の値を設定する方法
私は現在、mshtml.HTMLInputFileElement を使用して、HTML ドキュメントで「ファイル」タイプの入力要素の値を設定できるようにする必要があるプロジェクトに取り組んでいます。私はこれを行うのに非常に苦労しています。
最初にこれを試しました:
しかし、値は設定されていませんでした。次に、別のフォーラムで、値のプロパティを直接設定することはできませんが、その入力要素にフォーカスを与え、SendKeys を使用して次のように値をファイル要素に送信することで設定できることを読みました。
これも失敗し、フィールドが書き込み可能ではないという COM 例外をスローしました。
HTMLInputFileElement の値フィールドを設定する方法はありますか?