問題タブ [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.
c# - .NET WebBrowser コントロールでダイアログをブロックする
ユーザーの操作なしでいくつかのページをナビゲートするために使用される.NET 2.0 WebBrowser コントロールがあります (聞かないでください...長い話です)。このアプリケーションはユーザーを必要としないため、WebBrowser コントロールの ScriptErrorsSuppressed プロパティを true に設定しました。これにより、VS 2005 に含まれるドキュメントには、[...]「基になる ActiveX コントロールから発生するすべてのダイアログ ボックスが非表示になる」と記載されています。スクリプト エラーだけではありません。」ただし、MSDN の記事ではこれについて言及されていません。ポップアップを防ぐ NewWindow イベントをキャンセルすることができたので、それはうまくいきました。
これらのいずれかを使用して、すべてのダイアログやスクリプト エラーなどを正常にブロックした経験のある人はいますか?
編集
これは IE のスタンドアロン インスタンスではなく、Windows フォーム アプリケーション上にある WebBrowser コントロールのインスタンスです。誰でもこのコントロール、または基になるコントロールAxSHDocVWの経験がありますか?
もう一度編集
申し訳ありませんが、これについて言及するのを忘れていました... OK ボタンだけでJavaScript の alert()をブロックしようとしています。多分私は IHTMLDocument2 オブジェクトにキャストしてスクリプトにアクセスすることができます.MSHTMLを少し使ったことがあります.
vb.net - IE オートメーション ブックまたはリソース?? MSHTML/ShDocVw VB.Net の使用
VB.NET を使用した Internet Explorer の自動化について説明している書籍または Web サイトをお勧めできますか? mshtml と ShDocVw.dll がこれを実行できることは理解していますが、それを説明するリソースが必要です。ボタンをクリックするだけでなく、値を読み書きしたい。
これまでに出会った唯一の本は .Net Test Automation Recipes です。これは私のためのものですか?
ありがとう!
c++ - IHTMLElement イベント ハンドラーでイベント引数を取得できない
IHTMLElement インスタンスにコールバックを追加しましたが、IDispatch::Invoke がイベントに対して呼び出されると、引数はありません (つまり、pDispParams->cArgs と pDispParams->cNamedArgs は常に 0 です)。たとえば、onmouseup イベントのコールバックを追加します。私が知る限り、このイベントのコールバックは MouseEvent オブジェクトを受け取るはずです。あれは正しいですか?もしそうなら、これが確実に起こるようにするために私は何をする必要がありますか?
これは、Windows XP SP2 で IE 6 sp2 (またはそれ以上) の MSHTML を使用しています。
.net - mshtml.HTMLDocument (.NET) で Javascript を無効にする方法
私はこのようなコードを持っています:
ただし、このような HTML をロードすると、その中のすべての Javascript が実行され、「html」コードからいくつかのリソースへのリクエストが実行されます。
JavaScript とその他すべてのポップアップ (証明書エラーなど) を無効にしたい。
私の目的は、mshtml ドキュメントから DOM を使用して、信頼できる方法で HTML からいくつかのタグを抽出することです (正規表現の束ではなく)。
または、IE 関連のポップアップやアクティブなスクリプトを考えずに HTML をロードできる別の IE/Office DLL はありますか?
mshtml - MSHTML を使用して WebBrowser コントロールで要求/応答ストリームを変更する
webbrowser winforms コントロール内の要求/応答ストリームを取得する方法を見つけて、それが実際には直感的ではないことを確認する必要があります。たとえば、ユーザーが送信ボタンをクリックしたときに投稿データを変更できるようにする必要があります。そのためには、いくつかの MSHTML COM イベントに登録する必要があるようですが、どのイベントに登録する必要があるか (およびその方法) がわかりません。過去にこれを行った人はいますか?例?
.net - DOM 要素を実質的に読み取り専用にする
MSHTML を使用して HTML を編集する .NET フォーム コントロールを作成しています。私はいくつかのカスタム要素を作成しており、それらを効果的に読み取り専用にしたいと考えています。フォーカスがその要素のどこかに入力されたときはいつでも要素全体に焦点を当てることでこれを行うことができると思いましたが、HtmlElement.Focus() は要素全体を選択せず、カーソルのエントリをキャプチャできないようです.
別のオプションは、要素のテキストが変更されるたびにイベントを発生させることです (KeyDown で期待しています) が、そのイベントを発生させることもできません。イベントの動作に関する私の期待が間違っている理由、または実装のための代替提案についてのアイデアはありますか?
mshtml - MSHTML を使用したテーブルの編集
基になる HTML を編集せずに、MSHTML を使用してテーブルを作成/編集する方法はありますか?
vb.net - external.menuArguments を使用して Internet Explorer ウィンドウで HTML を変更する
Internet Explorer のコンテキスト メニュー拡張機能で呼び出される VB.NET クラスがあります。
コードはページのオブジェクト モデルにアクセスでき、データの読み取りは問題ありません。これはテスト関数のコードです...ステータス バーのテキストを変更し (OK)、ページの HTML を印刷し (OK)、テキストを追加して HTML を変更し、ページの HTML を再度印刷します (OK、2 番目の pop-追加したテキストは HTML にあります)
しかし、Internet Explorer ウィンドウには表示されません。私はどこで間違っていますか?
この関数は、JavaScript から次のように呼び出されます。
c# - MSHTML:MSHTMLの元に戻す/やり直しバッファをクリアするにはどうすればよいですか?
COM /アンマネージドMSHTMLコントロールを含むWebBrowserコントロールに似たC#ラッパーコントロールを使用しています。このコントロールを編集モードで使用しているため、アプリケーションのユーザーはHTMLドキュメントをWYSIWYG方式で編集できます。
このコントロールは、独自の元に戻る/やり直しスタックを管理します。
ユーザーがドキュメントのコンテンツへの変更をやり直したり元に戻したりすることはできず、編集することしかできないようにするには、どうすればリセット/クリアできますか?
javascript - IE WebBrowser (IHtmlWindow2 または Javascript) からナビゲーションの方向を決定する方法
私は WPF Web ブラウザー コントロールを使用しており、Navigating イベントを発生させると、イベント引数には常に NavigationMode.New が含まれます。ユーザーが Web コントロールから「戻る」を選択した場合は、NavigationMode.Back に設定する必要があります。
そのため、下にある COM ActiveX コントロールを使用して、ナビゲーションの方向を決定します。私は IHtmlWindow2 と IHtmlDocument2 と IOmHistory を見てきましたが、ナビゲーションで発生したことは何も表示されず、ナビゲーションが戻る、進む、新しいアドレス、または更新によって引き起こされたかどうかを教えてくれます。
IHtmlWindow と Javascript は同じ DOM を持っているので、Javascript の方法を知っている人がいるかもしれません。
IWebBrowser2 インターフェイスも調べましたが、そこにも何も見つかりません。
調べる必要のあるイベントやプロパティはありますか?