但是我在一个实例中注意到我能够将ajax调用async设置为false,但是对于跨站点ajax调用它没有用。
给出我想要做的事情的背景...我正在尝试使用jquery构建一个记录和回放js引擎进行自动化测试,我使用$ .ajax进行回调。
你可以在这里找到演示
http://orgchartasp.net/jtest/ff.swf.html
我正在做的是,捕获客户端的所有事件并回发到服务器onbeforeunload事件,我终于通过在卸载之前打开模式窗口并在保存后关闭它来成功使用IE和FF。
有人真的成功使用onbeforeunload跨浏览器/跨站点,如果有,请帮帮我。
答案 0 :(得分:1)
onbeforeunload
事件的事情是,在当前窗口中将任何内容发回服务器为时已晚。导致该事件的操作,即浏览器即将加载新页面,已经确定了下一个要加载的页面。
处理此事件时浏览器的确切行为可能会有所不同,因为在HTML5之前它甚至没有任何标准。
如果要从事件中向服务器发送任何内容,则必须打开一个新窗口并从中发布,或进行AJAX调用。然而,这是一场昙花一现,因为你不能等待任何回应。
我会说你不应该依赖onbeforeunload
来可靠地工作,所以你不应该围绕它构建你的架构。