[英]How to refresh a specific frame in CEFSharp
I have a Winforms Application using .NET 4.7.2 and CEFSharp 84.4.10.我有一个使用 .NET 4.7.2 和 CEFSharp 84.4.10 的 Winforms 应用程序。
I have a website loaded into the CEF browser that has a frameset and I want to have a menu item in the context menu that will reload a specific frame.我有一个网站加载到 CEF 浏览器中,它有一个框架集,我想在上下文菜单中有一个菜单项来重新加载一个特定的框架。
I have the menu item happening and in the event handler I tried the following two approaches but they both reload the entire browser, not just the frame.我有菜单项发生,在事件处理程序中我尝试了以下两种方法,但它们都重新加载了整个浏览器,而不仅仅是框架。
How can I reload just the frame?如何仅重新加载框架?
Thank you for your time.感谢您的时间。
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;
}
and和
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;
}
Thanks to @amaitland for clarifying that reloading a single frame is not currently supported.感谢@amaitland 澄清当前不支持重新加载单个框架。 I went with the solution doing it via JS API.
我通过 JS API 使用了解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.