問題タブ [webbrowser-control]
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.
.net - WebBrowser コントロールが例外を飲み込まないようにする
を使用してSystem.Windows.Forms.WebBrowser
、ビューを Visual Studio スタート ページのように作成しています。ただし、コントロールはすべての例外を黙ってシンクすることでキャッチして処理しているようです! これは非常に残念な振る舞いであると言う必要はありません。
上記のコードは、ナビゲーションをキャンセルし、例外を飲み込みます。
したがって、私が行っていること (上記) は、すべての例外をキャッチしてボックスをポップすることです。これは、黙って失敗するよりはましですが、それでも明らかに理想からはほど遠いものです。通常のアプリケーション障害パスを介して例外をリダイレクトし、最終的に処理されないようにするか、アプリケーションによってルートから処理されるようにしたいと考えています。
WebBrowser
例外のシンクを停止し、自然で期待される方法で転送するようにコントロールに指示する方法はありますか? または、ネイティブの境界を介して例外をスローするハックな方法はありますか?
c# - CSS を適用した背景画像を WebBrowser コントロールで印刷する方法
winforms で webbrowser コントロールを使用していますが、css で適用した背景画像が印刷物に含まれていないことがわかりました。
表示されているドキュメントの背景も Web ブラウザに印刷させる方法はありますか?
編集:これをプログラムで実行したかったので、このソリューションを選択しました:
これを処理する別の方法は、値を読み取り、印刷する前にこれを自分で調整するようにユーザーに通知することです。このようにレジストリを微調整することは良い習慣ではないことに同意する必要があるため、どんな提案も受け付けています。
フィードバックをお寄せいただきありがとうございます
c# - WebBrowser コントロールの前後の履歴を取得する
C# WinForms で、System.Windows.Forms.WebBrowser の後方/前方履歴スタックを取得する適切な方法は何ですか?
c# - C# を使用して、背景が透明なウィンドウに Web ページを表示するにはどうすればよいですか?
透明なウィンドウに Web ページを表示し、Web ページの白い部分も透明にするにはどうすればよいですか。
.net - WinForms WebBrowser コントロールで生成された HTML でローカル リソースを参照するにはどうすればよいですか?
Windows フォーム アプリにコンテンツを表示するために、winforms webbrowser コントロールを使用しています。DocumentText プロパティを使用して、生成された HTML を記述しています。その部分は見事に機能しています。ここで、マークアップでいくつかの画像を使用したいと考えています。(リンクされた CSS と JavaScript も使用したいと思いますが、埋め込むだけで回避できます。)
私は数日間グーグルで検索してきましたが、タイトルの質問に対する答えが見つからないようです.
相対参照を使用してみました: アプリの exe は bin\debug にあります。イメージは、プロジェクトのルートにある "Images" ディレクトリにあります。コンパイル時にイメージを出力ディレクトリにコピーするように設定したので、最終的には bin\debug\Images* になります。したがって、この「画像...」のような参照を使用して、exeに関連すると考えています。しかし、埋め込みブラウザ ウィンドウで画像のプロパティを見ると、画像の URL が「about:blankImages/*」になっていることがわかります。HTML がコントロールに書き込まれると、すべてが「about:blank」に関連しているように見えます。場所のコンテキストがないため、相対ファイル リソースの参照に何を使用すればよいかわかりません。
これを修正するために何かを設定する方法があるかどうかを確認するために、コントロールのプロパティを調べました。空白の html ページを作成し、ファイルへの完全なローカル パスを使用して、"Navigate()" メソッドを使用してブラウザをそのページに向けました。これは、空のページへのローカル「file:///...」パスを報告するブラウザーで正常に機能しました。次に、今度は Document.Write() を使用して、再びブラウザーに書き込みました。繰り返しますが、ブラウザは URL として「about:blank」を報告します。
動的 HTML の結果を実際のファイルに書き込む以外に、ファイル リソースを参照する方法はありませんか?
最後に、画像への絶対ファイル パスを作成し、それらを HTML に書き込みます。私の HTML は、シリアル化されたオブジェクトの XML の XSL 変換を使用して生成されているため、いくつかの XSL パラメータをいじる必要があります。
c# - WebBrowser コントロールに Javascript を挿入する方法は?
私はこれを試しました:
scriptEl.InnerHtml と scriptEl.InnerText の両方でエラーが発生します。
DOM にスクリプトを挿入する簡単な方法はありますか?
c# - WPFとWinFormsWebBrowserコントロールの間にはどのような機能の違いがありますか?
WPF WebBrowserコントロールは見栄えがしますが、WinForms WebBrowserについて時間の経過とともに蓄積された知識はかなりのものであり、csExWBのような作業を無視することはできません。WinFormsWebBrowserコントロールに対する.NET3.5のWPFWebBrowserコントロールにどのような機能上の欠点または利点が存在するかを知っておくと便利です。特に、WPF WebBrowser上にcsExWBのような機能を構築することは可能ですか?
c# - .net(C#)でWebbrowserコントロールから選択したテキストを取得する
私は自分の Web ブラウザー コントロールでユーザーが選択したテキストを取得する方法を見つけようとしていましたが、msdn やその他のリソースを掘り下げてもうまくいきませんでした。実際にこれを行う方法があるかどうか疑問に思っていました。多分私は単に何かを逃した。
これに関するヘルプやリソースに感謝します。
ありがとう
.net - 前のページを表示する System.Windows.Forms.WebBrowser.Refresh
私の WinForms アプリケーションには、System.Windows.Forms.WebBrowser
コントロールのあるタブがあります。WebBrowser のプロパティを設定するコントロールがいくつかあり.Url
、フォームが再描画されると、WebBrowser の.Refresh(WebBrowserRefreshOption.Completely)
メソッドが呼び出されます。
ただし、フォームが再描画され、WebBrowser のコンテンツが変更されない場合があります。.Refresh( )
で区切り.Url
ます。 は前の URL です。どうしたの?
MSDNによると:
このプロパティの値を設定してすぐに再度取得すると、WebBrowser コントロールが新しいドキュメントを読み込む時間がない場合、取得される値は設定された値とは異なる場合があります。
あれ、特別じゃない?.Refresh( )
コントロールが再描画する前に、「新しいドキュメントをロードする時間があった」まで待たないのはなぜですか? これを強制的に発生させる方法はありますか?
c# - 選択したテキストを Web ブラウザー コントロールから取得する
これが私がやろうとしていることです:
Web ブラウザー コントロールを使用してプルアップした Web ページからテキストを選択します。このテキストがまだ選択されている間にボタンをクリックすると、ユーザーによって強調表示されたテキストを表示するメッセージ ボックスがポップアップ表示されます。この機能を wpf アプリケーションで動作させるにはどうすればよいですか?
mshtml を使用して正しい軌道に乗っていると思いますが、次のようなエラーが表示されます。
COM コンポーネントへの呼び出しからエラー HRESULT E_FAIL が返されました。
このエラーは、タイトルを変更するなど、ドキュメントで小さなことをしようとしても発生します。
コードは以下のとおりです。