[英]logout user in onbeforeunload and send log to server
我正在运行Silverlight Web应用程序,如果用户关闭浏览器,更改站点等,我想注销该用户,以防他们忘记单击注销按钮,而我想在托管Silverlight的网页中执行此操作。
我尝试按照一个教程进行操作:添加webservice.htc并使用如下所示的javascript调用Web服务
html正文标签:
<body id="service" style="behavior:url(webservice.htc)">
脚本:
window.onbeforeunload = function(){
// set web service
service.useService(
"https://myhost/myService/service.svc?wsdl",
"myService");
// call web service method
service.myService.callService("LogInUser", -1);
}
如果我只是尝试显示一条消息,onbeforeunload确实会被调用
return "onbeforeunload called!";
编辑:我的Web服务在SOAP中,并且想使用javascript或ASP.net 3.5托管Silverlight的其他选项来使用,并且应该在IE8 +中查看。 任何可以完成此操作的选项?
我不熟悉您所显示的方法,但我假设文档只是在网络服务中发生任何事情之前就已被卸载。
我知道,唯一的跨浏览器方法是进行同步Ajax调用。 在此处更多内容,或者在jQuery中使用async: false
标志。
我不确定这是否是个好主意。 例如,用户可能在不同的浏览器窗口中打开了相同的会话。 使用您的方法,关闭其中一个将使它们从两个中注销。 另外,如果网络中断,同步Ajax请求可能会冻结浏览器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.