gpt4 book ai didi

c# - CefSharp 加载HTML

转载 作者:可可西里 更新时间:2023-11-01 03:04:29 24 4
gpt4 key购买 nike

有人可以向我解释 CefSharp LoadHtml 函数的工作原理吗?

LoadHtml(string html, string url)

htmlurl 参数代表什么?

我有兴趣将原始 HTML 字符串中的页面加载到 CefSharp 浏览器中。

最佳答案

Update: CefSharp has a new LoadHtml(string html) method that loads the HTML as a base64-encoded data URI. It is more reliable that the LoadHtml(string html, string url) method described below.

LoadHtml(string html, string url) :

html是您的 HTML 字符串,例如"<html><body>Hello world</body></html>" .实际上,您甚至可以在字符串中放入其他内容,例如 SVG 标记,只要 Chromium 能够理解即可。

url之所以需要,是因为您的 HTML 代码可能包含尝试执行 AJAX 调用的 JavaScript,并且 Web 浏览器需要了解适用的安全限制。架构(例如“http:”、“about:”)和域(例如“localhost”、“google.com”)会影响点击链接、AJAX 请求、iframe 等行为。

如果你想简单地呈现静态 HTML,使 url一些独特的东西,例如 http://rendering/ (这样资源处理程序就不会与网络上的真实 url 重叠)。如果您需要加载 HTML 然后与之交互或执行 AJAX 调用,请选择 url与您要与之交互的域相匹配 - 例如,如果您想制作一个替代的 Google 主页并执行 AJAX 搜索查询,您将需要使用 https://www.google.com/作为您的 URL,以便您可以与其通信。


你可以看到 source code for LoadHtml here .

CefSharp 所做的是:

  1. 为给定的 url 注册一个资源处理程序.
  2. 调用Load(url)告诉 Chromium 加载给定的 url .

然后,在幕后:

  1. Chromium 请求 url .
  2. 资源处理程序拦截请求,并返回您的 html .
  3. Chromium 呈现您的 html而不是 URL 的真实内容。

关于c# - CefSharp 加载HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27659086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com