我想在用户不手动从应用程序注销时插入注销时间戳,即,如果用户关闭浏览器而不注销系统,则系统应注销浏览器关闭事件或任何其他解决方案,以使用jquery,ajax,和PHP的欢迎。我尝试了以下代码:
<script type="text/javascript">
window.onbeforeunload = function() {
$.ajax
({
url: 'logout.php',
data: "",
type: 'post',
success: function()
{
.....
}
});
}
</script>
但是window.onbeforeunload function()每次都会在chrome之类的webkit浏览器中更改URL时将其注销,这是它的特性。我需要一些跨浏览器解决方案。关于此问题,我在stackoverflow本身上看到了各种疑问,但找不到任何对我有帮助的解决方案。
我还需要提及的是,在logout.php中,我使用该代码终止会话,并在数据库中插入查询以获取注销的时间戳。
最佳答案
我想建议以下代码在浏览器关闭时进行ajax调用。
<script type="text/javascript">
window.onbeforeunload = function() {
var ticketId = $('#ticketId').val();
$.ajax({
url: '/ticket-window-close/'+ticketId,
type: 'GET',
async: false,
timeout: 10000
});
};
</script>
关于php - 在浏览器关闭时调用ajax,而不更改网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32779972/