WebBrowser控件c#winform中的beforeunload事件的问题

问题描述 投票:0回答:1

我写了逻辑来从beforeunload的web应用程序注销,如下:

window.addEventListener("beforeunload", function (event) {  
   //Logout logic
   //Calling logout api with values from session
   //clearing the session on success 
});

它在所有网络浏览器(IE,Mozilla,Chrome)中运行良好,但它不能在WebBrowser应用程序中使用winform控件。

它背后的原因是什么?

PS:javascript没有任何问题,当我通过调用它来调用同一个脚本时,它工作正常:

   HtmlElement head = webBrowser4.Document.GetElementsByTagName("head")[0];
   HtmlElement scriptEl = webBrowser4.Document.CreateElement("script");
   IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
   element.text = @"function Logout() {
   $.ajax({
         url: '/api/Logout',
         type: ""GET"",
         contentType: ""application/json;charset=utf-8"",
         success: function(returnVal) {
                    },
         complete: function() {
                     sessionStorage.clear();
                    },
         error: function(returnVal) {
                        }
                    });
                 }";
     head.AppendChild(scriptEl);
     webBrowser4.Document.InvokeScript("Logout");

beforeunloadWebBrowser控制中winform事件有什么问题?

javascript c# winforms webbrowser-control web-to-winforms
1个回答
0
投票

你是否在没有听众的情况下尝试过?

window.onbeforeunload = function(event)
© www.soinside.com 2019 - 2024. All rights reserved.