如何在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,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进行了解决。