18

CefSharpLoadHtml関数がどのように機能するかを誰かに説明してもらえますか?

LoadHtml(string html, string url)

htmlおよびurlパラメータは何を表していますか?

生の HTML 文字列から CefSharp ブラウザーにページを読み込むことに興味があります。

4

3 に答える 3

41

更新: CefSharp にはLoadHtml(string html)、HTML を base64 でエンコードされたデータ URI としてロードする新しいメソッドがあります。LoadHtml(string html, string url)下記の方法の方が確実です。

LoadHtml(string html, string url)

htmlは HTML 文字列"<html><body>Hello world</body></html>"です。実際には、Chromium が理解できる限り、SVG マークアップなどの他のコンテンツを文字列に入れることもできます。

urlこれは、HTML コードに AJAX 呼び出しを実行しようとする JavaScript が含まれている可能性があり、Web ブラウザーが適用されるセキュリティ制限を認識する必要があるためです。スキーム ("http:"、"about:" など) とドメイン ("localhost"、"google.com" など) は、リンクのクリック、AJAX リクエスト、iframe などの動作に影響します。

単純に静的 HTML をレンダリングしたい場合は、次のようにurl独自のものを作成しますhttp://rendering/(リソース ハンドラーが Web 上の実際のハンドラーと重複しないようurlにします)。HTML を読み込んでそれを操作するか、AJAX 呼び出しを実行する必要がある場合は、操作urlするドメインに一致する を選択します。たとえば、別の Google ホームページを作成して AJAX 検索クエリを実行する場合は、https://www.google.com/通信できるように URL として使用します。


ここのソースコードをLoadHtml見ることができます。

CefSharp の機能は次のとおりです。

  1. 指定された のリソース ハンドラを登録しurlます。
  2. Load(url)指定された をロードするように Chromium に指示するために呼び出しurlます。

次に、ボンネットの下で:

  1. Chromium はurl.
  2. リソース ハンドラはリクエストを傍受し、html.
  3. Chromium はhtml、URL の実際のコンテンツではなく、あなたのコンテンツをレンダリングします。
于 2014-12-29T06:47:28.720 に答える