c# - 如何在 webbrowser 控件 c# 中禁用 javascript 卸载事件?

标签 c# .net webbrowser-control

我正在使用网络浏览器控件导航到具有 JavaScript 卸载事件的站点。当我尝试导航到其他地方时,会出现一个弹出窗口,提示我是要“留在页面上”还是“离开页面”。如果我继续尝试离开,则会抛出 COMException。

如何防止在我的网络浏览器中出现此类弹出窗口?

编辑:
当我准备导航到另一个网页时,如何禁用 Javascript?

最佳答案

你可以这样做(Delphi 代码):

var
  WrkIHTMLWindow2: IHTMLWindow2;
  WrkIHTMLWindow2Disp: IHTMLWindow2Disp;
begin
  WrkIHTMLWindow2 := IHTMLDocument2Disp(WrkIWebBrowser2.Document).parentWindow;
  if WrkIHTMLWindow2.QueryInterface(IHTMLWindow2Disp, WrkIHTMLWindow2Disp) = S_OK then
    if not VarIsNull(WrkIHTMLWindow2Disp.onbeforeunload) then
      WrkIHTMLWindow2Disp.onbeforeunload := NULL;

关于c# - 如何在 webbrowser 控件 c# 中禁用 javascript 卸载事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18816550/

相关文章:

c# - Linq to SQL 存储库应该实现 IDisposable

c# - IIS 8.0 中的 SignalR HttpContext.Current null

c# - 同步生产和测试数据库的方法

c# - Azure Functions - 给定的程序集名称或代码库无效。 (HRESULT : 0x80131047) 的异常

c# - 为什么默认情况下所有函数都不应该是异步的?

.net - HTML5 移动应用程序的版本控制方法

c# - 如何向我的 backgroundworker dowork 事件添加耗时的进度?

javascript - 如何抑制来自iframe的Internet Explorer 7上的脚本错误?

c# - 不同目标平台中的 Windows 窗体 WebBrowser 控件

javascript - C# Web浏览器以编程方式关闭JS确认框