【发布时间】:2015-06-09 05:20:25
【问题描述】:
我正在尝试通过点击使用 CEF 的链接打开一个新窗口。
我在我的 HTML 中将 href 和 target 指定为 _blank。
当 Internet 可用时,新页面可以正常打开,但在连接断开时会打开一个空白窗口。我试过调试,据我了解,如果 OnBeforePopUp 函数返回 false,应该没有问题。
我的 HTML 代码行是
<a href="https://www.google.com/" target="_blank" title="Google" aria-label="Google" id="Google"><span class="sr-only">Click here for Google</span> Help</a>
在我的代码中,
public bool OnBeforePopup(IWebBrowser browser, string url, ref int x, ref int y, ref int width, ref int height)
{
return false;
}
【问题讨论】:
-
在您的问题中添加代码
-
在这种情况下你对
return false的理解到底是什么?要取消打开弹出窗口,您return true。对于大多数APIreturn false将调用默认行为,在这种情况下是打开一个弹出窗口。 -
是的..弹出窗口正在打开,但作为一个空白页面。网络关闭时我需要纠正错误。
-
目前,完全控制弹出窗口的唯一方法是取消它的创建并在所需的 url 中生成
ChromiumWebBrowser的新实例。然后你可以挂钩LoadError事件并采取适当的行动。大部分弹出功能都没有公开。正在进行重大的重新开发,但还远未准备好投入生产。
标签: chromium-embedded cefsharp