相关疑难解决方法(0)

Firefox 4 onBeforeUnload自定义消息

在Firefox 3中,我能够编写一个自定义确认弹出窗口:

window.onbeforeunload = function() {
   if (someCondition) {
      return 'Your stream will be turned off';
   }
}
Run Code Online (Sandbox Code Playgroud)

现在在Firefox 4中,它不会显示我的自定义消息.它提供的默认消息甚至不能准确应用我的应用程序.

firefox 4确认

可以覆盖此默认消息吗?

javascript firefox firefox4

69
推荐指数
2
解决办法
5万
查看次数

JavaScript,浏览器,窗口关闭 - 发送AJAX请求或在窗口关闭时运行脚本

我试图找出用户何时离开指定页面.找到他在页面内部使用链接导航时没有问题,但我需要标记一些内容,例如当他关闭窗口或输入另一个URL并按下回车时.第二个不是那么重要,但第一个是.所以这是一个问题:

我怎么能看到用户何时关闭我的页面(捕获window.close事件),然后......并不重要(我需要发送一个AJAX请求,但如果我能让它运行警报,我可以做其余的).

javascript browser window dom-events

27
推荐指数
3
解决办法
3万
查看次数

如何在onbeforeunload上执行ajax函数?

我正在开发一个php/javascript聊天.

当用户登录时,他/她的用户名将被插入名为的MySQL表中queue.此插入返回mysql_insert_id()将存储在名为的会话变量中$_SESSION['CHAT_QUEUE_ID']

当用户关闭页面时,我需要删除MySQL表行.

我尝试了以下,但没有成功:

js文件

window.onbeforeunload = closeSession;
function closeSession(){
    $.ajax({
        url: "/chat/process/chat.php",
        type: "GET"
    });
    return "disconnected";
}
Run Code Online (Sandbox Code Playgroud)

chat.php

$delete= "DELETE FROM queue WHERE id = " . $_SESSION['CHAT_QUEUE_ID'];
// query, etc
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

javascript php jquery onbeforeunload

10
推荐指数
1
解决办法
1万
查看次数

如何在页面卸载时执行ajax调用?

我有一个仪表板,用户可以在其中切换一些输入值以配置页面的外观.

我想将这些更改存储在数据库表中,因此当用户返回时,根据从数据库检索的特定用户配置显示仪表板.

我知道如何将这些值发送到DB以及如何检索它们

每次用户更改配置时,我都不想进行ajax调用.

相反,我认为这种情况会更好:

  1. 页面加载(检索数据库配置,如果存在)
  2. 用户切换配置ui项(例如复选框,选择等)并发生相应的客户端更改(某些div被隐藏,其他一些显示等,配置输入值存储到隐藏字段),但没有ajax调用需要地方.
  3. 当用户单击指向另一个页面的链接时,配置输入值(已存储到隐藏字段)将通过ajax调用发送到DB.

我的问题

一个解决方案(?)将使用这样的onbeforeunload事件:

window.onbeforeunload = function(e) {
   // Perform the ajax call
   return 'Do you want to save the configuration changes?';
};  
Run Code Online (Sandbox Code Playgroud)

但是,如果用户的浏览器阻止弹出窗口,该函数将无法执行?

有没有办法在onbeforeunload事件上执行ajax调用,而无需调用对话框?

javascript ajax jquery

3
推荐指数
1
解决办法
424
查看次数