簡體   English   中英

CefSharp如何清除當前的鉻web瀏覽器控制內容就像真正的瀏覽器C#

[英]CefSharp how to clear current chromium web browser control content like real browser C#

我們需要在圖像服務器中查詢圖像並將其顯示在 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 瀏覽器並為每個啟動請求重新創建它之外,還有其他解決方案嗎?

加載一個空的 HTML 頁面,就放這個,

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

那會很好..您可以使用以下 API 在 CEF 中加載字符串,

 ChromiumWebBrowser.LoadString(string html, string url);

我從 SO 得到這個片段, 在 CefSharp 中使用本地構建的 web 頁面

ChromiumWebBrowser.LoadString(string html, string url) 很有幫助,但是除了 html 響應之外,chrome 瀏覽器還會使用客戶端(公司)的代理服務器響應進行渲染。

試過了,Load() API 即 ChromiumWebBrowser.Load("https:////somestring/someurl"),它呈現出空內容的魅力。感謝您的建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM