【问题标题】:How to reload web page inside the web browser control?如何在 Web 浏览器控件中重新加载网页?
【发布时间】:2017-10-30 07:03:10
【问题描述】:

我开发了 chrome 嵌入式用户控件,用于在 windows 应用程序中调用网页。现在我需要在用户第二次单击按钮时刷新/重新加载网页。

我已经尝试了下面的代码,但它没有重新加载页面。

panel.Visible = true;
var settings = new CefSettings
{
    IgnoreCertificateErrors = true,
    CachePath = "<linktoabsolutecachepath>",
    LogFile = "<mylogfile>"
};
settings.CefCommandLineArgs.Add("enable-media-stream", "1");
_chromeBrowser.Refresh();
_chromeBrowser = new ChromiumWebBrowser(_puzzleUrl);

panel.Size = new Size(2000, 1650);
panel.Location = new Point(-450, 364);
panel.Controls.Add(_chromeBrowser);

我正在使用 ChromiumWebBrowser 在面板中加载网页

【问题讨论】:

  • 我正在使用 ChromiumWebBrowser 加载网页

标签: c# windows winforms google-chrome-devtools chromium-embedded


【解决方案1】:

我认为没有必要在每次需要重新加载时清除所有控件并创建一个新浏览器。相反,您可以使用 ChromiumWebBrowser 的旧实例并执行 _chromeBrowser.Reload() (docs)。您发布的所有其余代码也不需要刷新。

【讨论】:

    【解决方案2】:
    _chromeBrowser.Stop(); //Stops loading the current page.
    _chromiumWebBrowser.Reload();//Reloads the page being displayed. 
    //This method will use data from the browser's cache, if available.
    

    【讨论】:

      【解决方案3】:

      我终于找到了解决这个问题的更好方法。每次初始化 ChromiumWebBrowser 对象时,最好清除我们在 windows 窗体中分配 chromiumBrowser 控件的面板。

      您可以清除面板控制:-

      panel.Controls.Clear();

      【讨论】:

        猜你喜欢
        • 2012-04-27
        • 2020-04-16
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        • 2023-02-05
        • 2017-12-26
        • 2021-12-08
        • 1970-01-01
        相关资源
        最近更新 更多