我正在尝试在关闭浏览器之前强制用户从系统登录。下面是我唯一能够提出的代码。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">
$(window).bind('beforeunload', function () {
return 'Please LogOut';
});
</script>
我想做类似下面的事情。显示确认框,如果用户按OK,则进行ajax调用。
我尝试了以下代码,但即使是确认框也没有出现。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">
$(window).bind('beforeunload', function () {
var x;
var r = confirm("Please LogOut");
if (r == true) {
x = "LogOut";
var url = "/User/logOut/";
$.ajax({
url: url,
data: { UserID: 1},
cache: false,
type: "POST",
success: function (data) {
},
error: function (reponse) {
alert("error : " + reponse);
}
});
}
else {
x = "Stay On Page!";
}
});
</script>
答案 0 :(得分:1)
我们尝试了类似的功能,但您无法检测用户何时轻松关闭浏览器。
最简单的方法是将会话用作用户访问权限。这意味着在每次调用时,您的客户端应该发送一些令牌,服务器端应该检查它。此令牌保存在cookie / storage中的客户端(会话存储,但它仅在选项卡上作为会话),并且只要用户关闭窗口/选项卡,它就会过期。
当然,您的服务器端应该支持会话。对于令牌发送,我建议使用授权标头,因为它可以在大多数开发平台上使用,如果你打算从js扩展到例如Android平台将来某个时候。