繁体   English   中英

如何在 CEFSharp 中刷新特定帧

[英]How to refresh a specific frame in CEFSharp

我有一个使用 .NET 4.7.2 和 CEFSharp 84.4.10 的 Winforms 应用程序。

我有一个网站加载到 CEF 浏览器中,它有一个框架集,我想在上下文菜单中有一个菜单项来重新加载一个特定的框架。

我有菜单项发生,在事件处理程序中我尝试了以下两种方法,但它们都重新加载了整个浏览器,而不仅仅是框架。

如何仅重新加载框架?

感谢您的时间。

    bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
    {
        switch ((int)commandId)
        {
            ...

            case RefreshContentFrame:
                frame.Browser.Reload(true);
                break;
            ...
        }

        return false;
    }

    bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
    {
        switch ((int)commandId)
        {
            ...

            case RefreshContentFrame:
                var myFrame = browser.GetFrame("MyFrame");
                if (myFrame != null)
                {
                    myFrame.Browser.Reload(true);
                }
                break;
            ...
        }

        return false;
    }

感谢@amaitland 澄清当前不支持重新加载单个框架。 我通过 JS API 使用了解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM