gpt4 book ai didi

javascript - 如果用户关闭浏览器,我会尝试运行 .php 脚本

转载 作者:行者123 更新时间:2023-12-03 11:44:19 24 4
gpt4 key购买 nike

所以我正在制作一个游戏大厅 atm,并希望在用户关闭或刷新浏览器时运行 .php 脚本。
我的问题是, .unload 甚至没有触发,但它应该,我基本上在维基中使用了完全相同的东西。我做错了什么?

我的索引:

<script type="text/javascript">

jQuery(document).ready(function ($) {
$(window).on('beforeunload', function() {
return "Do you really want to leave this lobby?";
});

$(window).unload(function() {
alert("wat");
xmlhttp.open("POST","test_ajax.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("session=test");
});
});

</script>

我的test_ajax.php:

<?php

$db_name = "test";
$db_username = "root";
$db_password = "";
$db_host = "localhost";

mysql_connect($db_host, $db_username, $db_password) or die ("No connection possible!");
mysql_select_db($db_name) or die ("No database found!");

$v = "Testaccount";
$sql = mysql_query("UPDATE users SET Avatar=1 WHERE Username='$v'");

?>

最佳答案

IMO 唯一的解决方案是每 N 秒发送一些心跳信号。如果心跳停止 - 用户已关闭浏览器。没有可靠的 JS 事件来关闭浏览器。您可以使用 onbeforeunload 事件显示一条消息,但您没有足够的时间从该回调发送 ajax。如果此回调在 1 毫秒左右没有返回,页面将关闭。这样做是因为如果用户进入恶意页面并想要关闭它,该页面将无法在 onbeforeunload 回调中运行一些无限循环来阻止用户关闭页面。

关于javascript - 如果用户关闭浏览器,我会尝试运行 .php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com