【问题标题】:CefSharp how to clear current chromium web browser control content like real browser C#CefSharp如何像真正的浏览器C#一样清除当前的chrome web浏览器控制内容
【发布时间】:2021-02-08 14:29:26
【问题描述】:

我们需要在图像服务器中查询图像并将其显示在 Windows 窗体中的 CEF Web 浏览器控件上。

public partial class CustomerWindow : Form
{
     private string image_url;
     private ChromiumWebBrowser _browser;  
     private bool _browserInitialised = false;   

     public CustomerWindow()
     {
           browser.IsBrowserInitializedChanged += OnIsBrowserInitializedChanged;
     }

     // calls to server for validating user credentials and get cookie
     public LoadData()
     {        
          if(_browserInitialised)
          {
              browser.Load(_imsContextualImageUrl);
          }         
     }

     public void OnIsBrowserInitializedChanged(object sender, EventArgs e)
     {
         var chromeWebBrowser = (ChromiumWebBrowser)sender;            
         if (!chromeWebBrowser.IsBrowserInitialized) return;            
         chromeWebBrowser.Load(_imsContextualImageUrl);          
         _browserInitialised = true;
     }
 }

我们只为每个应用程序创建一次 CEF 浏览器,并在表单的关闭事件中处理它。

代码正在工作并为有数据的url显示图像,当没有数据时,我们需要清除之前在CEF浏览器上显示的图像并显示为空的CEF浏览器。

除了处理 CEF 浏览器并为每个启动请求重新创建它之外,还有其他解决方案吗?

【问题讨论】:

    标签: c# chromium-embedded


    【解决方案1】:

    加载一个空的HTML页面,放这个,

     <html><body></body></html> 
    

    这样就好了..您可以使用以下 API 在 CEF 中加载字符串,

     ChromiumWebBrowser.LoadString(string html, string url);
    

    我从 SO,Working with locally built web page in CefSharp 得到这个片段

    【讨论】:

    • 很久以前从内存中删除了 LoadString。您可以调用 LoadHtml 来实现相同的结果。有关从内存加载资源的选项列表,请参阅 github.com/cefsharp/CefSharp/wiki/…。
    • 感谢 amaitland 的评论.. 前段时间我使用它,
    【解决方案2】:

    ChromiumWebBrowser.LoadString(string html, string url) 很有帮助,但是除了 html 响应之外,chrome 浏览器还会使用客户端(公司)的代理服务器响应进行渲染。

    已尝试,Load() API 即 ChromiumWebBrowser.Load("https:////somestring/someurl"),它呈现出带有空内容的魅力。感谢您的建议。

    【讨论】:

      猜你喜欢
      • 2020-06-27
      • 2011-09-03
      • 1970-01-01
      • 2017-03-07
      • 2011-12-15
      • 2016-10-01
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多