繁体   English   中英

在onbeforeunload中注销用户并将日志发送到服务器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM