我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");
控制中的beforeunload
事件有什么问题?WebBrowser
winform