Javascript确认方法在Safari 5.0.2上终止我的会话数据

Javascript确认方法在Safari 5.0.2上终止我的会话数据,javascript,safari,confirm,Javascript,Safari,Confirm,这里有严重的问题。我大约100%确信确认方法会导致Safari上的会话出现严重问题。确认提示基本上要求用户在完成Jquery帖子之前确保他/她想要完成一个操作。这在其他浏览器上都可以正常工作,但在Safari上,用户会话数据会被删除,并在刷新页面时注销。我删除了这个方法,一切都恢复正常了。以前有人经历过吗?很奇怪。。。向苹果挥拳 编辑:我尝试使用Jqueries对话框小部件,我遇到了同样的问题。你认为发生了什么事 Edit2:对于那些好奇的人来说,警报并没有清除会话数据,它只是将控制权带回客户端

这里有严重的问题。我大约100%确信确认方法会导致Safari上的会话出现严重问题。确认提示基本上要求用户在完成Jquery帖子之前确保他/她想要完成一个操作。这在其他浏览器上都可以正常工作,但在Safari上,用户会话数据会被删除,并在刷新页面时注销。我删除了这个方法,一切都恢复正常了。以前有人经历过吗?很奇怪。。。向苹果挥拳

编辑:我尝试使用Jqueries对话框小部件,我遇到了同样的问题。你认为发生了什么事

Edit2:对于那些好奇的人来说,警报并没有清除会话数据,它只是将控制权带回客户端,因此浏览器并没有真正与其服务器端保持联系。这一评论最能说明问题:

您必须注意在运行时代码运行的位置 使用ASP.NET。在您的示例中,由于您正在使用会话 对象,则您正在服务器上运行。您的web服务器无法访问 在用户机器上弹出警报对话框。相反,它必须这样做 将JavaScript代码写入客户端,然后客户端可以执行此代码 并向用户发出警报。所以,你需要改变你的方法。如果 您需要警报,您需要将信息提供给 客户,并让整个检查在那里进行,在这种情况下 无法访问会话变量(存储在服务器上),因此 你唯一能做的比较就是基于这一点 表单或其他您向客户端计算机写入的内容

参考:

看到Safari没有像它的对手一样自动处理这种情况,真是可笑


编辑3:更多的证据!谷歌快速搜索显示,Safari上的很多人都抱怨随机退出facebook。Facebook也有弹出的气球警告,通知你一些重要的情况,比如离开一条写了一半的消息。每次气球警告我我都会被注销!这就像是一个艰苦的狩猎保镖。这是怎么回事?

好的,如果您现在正在运行Safari 5.0.5更新,下面是解决方案!5.0.5是垃圾。这可以说是巧合,但对我来说,这又重演了苹果无法开发好软件的陈词滥调

会话是一个服务器端概念;它仅通过具有特定名称和值的cookie在浏览器中显示。你是说,
confirm()
调用正在清除cookie吗?是的,我想这就是发生的事情。我将再次检查会话ID是否被删除,但我肯定确认呼叫正在以某种方式影响我的会话。哈哈!公平地说,确认调用干扰了浏览器读取会话的能力;)