Я написал логику для выхода из веб-приложения даже в beforeunload
следующим образом:
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
?