我已经编写了beforeunload
中的Web应用程序注销逻辑,如下所示:
window.addEventListener("beforeunload", function (event) {
//Logout logic
//Calling logout api with values from session
//clearing the session on success
});
它在所有Web浏览器(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
的{{1}}控件中的WebBrowser
事件是什么问题?
答案 0 :(得分:0)
您在没有收听者的情况下尝试了吗?
window.onbeforeunload = function(event)