我正在使用小书签将 iframe 注入另一个网站,并在提交页面上的任何表单时尝试将数据发布回我的服务器。不幸的是,iframe 中的 AJAX 请求并不总是在浏览器丢弃所有连接作为导航的一部分之前完成。如何在 onsubmit 期间可靠地将数据发送回我的服务器?
我尝试过:
- onbeforeunload - 在表单的 onsubmit 事件之后不触发
- onbeforeunload 似乎可以在它处于活动状态时阻止后台 javascript 事件
- 使 AJAX 请求同步 - 没有帮助,可能是因为请求在卸载本身期间开始
- onunload - 在请求之后触发,但似乎没有任何权限来减慢 AJAX 的导航
我担心尝试:
- 打破表单提交,因为提交时可能会运行 javascript
- 由于未知风险和可能的计划超限,创建浏览器扩展程序
- 直接运行来自父级的请求 - 该请求是在 JQuery 之上运行的内部库的一部分,并且绕过它会很脆弱
在所有情况下,我所针对的浏览器都是 Google Chrome(最新版本)。