問題タブ [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# - mshtml&c#でマルチレベルの元に/やり直しを有効にする方法
WinformsアプリでホストされているSystem.Windows.Forms.Webbrowserコントロールがあり、contentEditable属性がtrueに設定されたさまざまな要素を持つhtmlドキュメントを読み込んでいます。ドキュメントのマルチレベルの元に戻すとやり直しを有効にするにはどうすればよいですか?
TIA。
MB
vb.net - VB.NET で MSHTML を使用するにはどうすればよいですか?
質問 # 56107への回答で、Erlend は次のサンプル c# コードを提供しました。
VB.NET で mshtml を使用したいのですが、IDE はこれを認識しません。
VB.NET で MSHTML を使用するには、どのような追加手順が必要ですか?
javascript - WPF WebBrowser を使用して Web ページの btnSubmit_onclick JavaScript 関数を上書きするにはどうすればよいですか?
私はWebBrowser
WinForms バージョンとは異なる WPF コントロールを使用していますが、この優れた Web サイトの多くの推奨事項は WPF では機能しません。
btnSubmit_onclick()
Web ページの JavaScript 関数を上書きするにはどうすればよいですか?
この関数は、バイパスしたい確認ダイアログ (「よろしいですか?」など) を生成します。btnSubmit_onclick()
基本的に、既存の関数を置き換える新しい関数を挿入したいので、煩わしい確認ダイアログを省略できます。MSHTML とすべてのページ オブジェクトにアクセスできますが、ページのヘッダーにスクリプトを挿入するのに苦労しています。これまでのところ、私は持っています:
しかし、他のスクリプトよりも先に、この新しいスクリプト要素をヘッド オブジェクトに挿入する必要があります。これにより、btnSubmit_onclick()
ダウンストリームの既存の関数が上書きされることを願っています。
DEFER プロパティを使用してもヘッダーにスクリプトを挿入することを拒否する head.injectAdjusentHTML を試してみましたが失敗しました。
どうすればできますか?
excel - MSHTML を VBA で使用するにはどうすればよいですか?
VS で MSHTML を使用する方法について、MSDN で多くの例を見ました。MSHTML と VBA を使用して Web ページを開くことができるかどうか、またその方法を知っている人はいますか?
internet-explorer - Internet Explorer オートメーション: [開く/保存] ダイアログを非表示にする方法は?
MSHTML を介して IE インスタンスを制御する場合、非 HTML コンテンツの開く/保存ダイアログを抑制する方法は?
別のシステムからデータを取得し、それを自分のシステムにインポートする必要があります。予算の制約により、しばらくの間、開発 (WS など) を他の側で行うことはできません。
リモート サイトは ASP.NET ベースであるため、単純な HTML 要求は機能しません。JS が多すぎます。
MSHTML と SHDocView を使用して IE インスタンスを制御する単純な C# アプリケーションを作成しました。これまでのところ、ログインを実行し、目的のページに移動し、必須フィールドに入力して送信できます。
次に、いくつかの問題に直面します。
1 つ目は、レポートが別のウィンドウで開かれていることです。システム内のIEウィンドウを列挙することで、そのウィンドウにも接続できると思います。
2 つ目の問題は、レポート自体が CSV ファイルであり、[開く/保存] ダイアログが表示されることです。私はそれを避けて、IEにファイルを特定の場所に保存させたい、またはプログラムでダイアログボタンをクリックしても問題ありません(方法は?)
私は実際には完全に非 Windows の人間 (unix/J2EE) であり、より詳しい知識を持つ誰かがこれらのタスクを実行する方法のヒントを教えてくれることを願っています。
ありがとう!
アップデート
MSDN で有望なドキュメントを見つけました: http://msdn.microsoft.com/en-ca/library/aa770041.aspx
ダウンロードされるコンテンツの種類と、ダウンロード後に WebBrowser コントロールが行う内容を制御します。たとえば、ビデオの再生、スクリプトの実行、またはユーザーがリンクをクリックしたときに新しいウィンドウが開くのを防いだり、Microsoft ActiveX コントロールのダウンロードや実行を防いだりできます。
ゆっくり読み進めて…
更新 2: MADE IT WORK、SORT OF...
最後に、私はそれを機能させましたが、醜い方法で。基本的に、「ナビゲートする前に」ハンドラーを登録し、ハンドラーで、URL がターゲット ファイルと一致する場合は、ナビゲーションをキャンセルしますが、URL を記憶し、WebClient クラスを使用してその一時的な URL に直接アクセスしてダウンロードします。
ここにコード全体をコピーすることはできません。多くのゴミが含まれていますが、重要な部分は次のとおりです。
ハンドラーのインストール:
URL を記録してからダウンロードをキャンセルする (保存ダイアログが表示されないようにする):
見つかった URL を使用して直接ダウンロードする呼び出しコードでは、次のようになります。
(ドライバーは IE インスタンス = _IE の単純なラッパーです)
それが誰かを助けることを願っています。
c# - html 要素の上部と左側のプロパティ データを取得します
mshtml dll を使用してヘルパーを開発しています。つまり、htmll 要素の位置を取得しようとしています。style.posTop 値を取得しようとすると、HTMLAnchorElementClass 型のオブジェクトがあります。 null ref 例外
それを行うより良い方法はありますか?
もしかして他のキャスト?
助けてください
mshtml - MSHTML チュートリアル
IHtmlDocument および IHtmlDocument2 インターフェイスの使用方法など、MSHTML の基本を学びたいと思っています。かなり探しましたが、初心者向けのチュートリアルが見つかりません。誰かが何かを読むことをお勧めできますか?
編集: C# を使用することを好みます。
c# - HTML - すべてのフレームがいつ読み込まれたかを知るにはどうすればよいですか?
.NET WebBrowser コントロールを使用しています。Web ページが完全にロードされたことを知るにはどうすればよいですか?
ブラウザがデータをフェッチしなくなったときを知りたいです。(IE のステータス バーに「完了」と表示された瞬間...)。
ノート:
- DocumentComplete/NavigateComplete イベントは、複数のフレームを含む Web サイトで複数回発生する場合があります。
- ブラウザの準備完了状態でも問題は解決しません。
- フレーム コレクション内のフレーム数を確認してから、DocumentComplete イベントを取得した回数を数えてみましたが、これも機能しません。
- this.WebBrowser.IsBusy も機能しません。Document Complete ハンドラーでチェックすると、常に「false」になります。
c# - Web ページを画像として保存する方法
WebBrowser コントロールがあり、表示されたページ全体を画像 (任意の Web ページ) に保存したいと考えています。IHTMLElementRender インターフェイスを使用してみましたが、すべての Web ページで機能しませんでした。スナップショットにスクローラーが含まれている場合もあれば、部分的なものだった場合もあるため、何か間違っている可能性があります。Web ページ全体を画像に保存できる実例はありますか?
ありがとう。