使用 Safari/Chrome 卸载时的 Ajax(或 JSONP)

2024-02-08

如果您尝试发送 Ajax 请求、JSONP 请求,甚至卸载时的 window.name 请求,Safari 和 Chrome 会运行代码,但服务器永远看不到该请求。我的理论是执行线程在更改页面之前决不允许脚本标记运行。这是一个带有 JSONP 测试的测试页面。此代码(以及 Ajax 和 window.name)在 Firefox 和 IE7 中创建对 test.html 的请求,但不在 Safari 中:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
    </head>
    <body>

        <script language="javascript" type="text/javascript">
            window.onunload = function(){
                var encode = "UTF-8";
                var script = document.createElement('script');
                script.type = 'text/javascript';
                script.src= "/test.html";
                script.charset= encode;
                document.body.appendChild(script)
            }
        </script>

    </body>
</html>

有人知道解决这个问题的好方法吗?更具体地说,有人知道强制 Safari 在卸载时发送请求的方法吗?我发现的唯一解决方案(这对我的情况并没有真正帮助)是同步 XHR。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Safari/Chrome 卸载时的 Ajax(或 JSONP) 的相关文章

  • 如何避免多系列折线图d3.js的工具提示重叠

    我已经在多系列折线图上创建了工具提示 如下所示在这里回答 https stackoverflow com questions 34886070 d3 js multiseries line chart with mouseover tool
  • Socket.io 如何判断某人何时离开

    我正在使用 socket io 创建一个实时游戏 目前 当有人离开时 什么也不会发生 我想以某种方式通知服务器说谁离开了 有没有办法在用户离开时发出正确的信息 我可以让服务器每 1000 毫秒对每个人执行一次 ping 操作 或者通过其他方
  • Chart.js 渲染垂直堆积条形图太慢

    我正在使用 Chart js API 渲染多个堆叠的垂直条形图 但性能很慢 我什至做了一些改变 这样所有的content对象已经由服务器而不是浏览器处理 但我意识到大部分时间来自最终函数new Chart overallStatsChart
  • 当 img.crossOrigin="Anonymous" 时,Chrome MJPEG CORS“响应无效”

    Image from origin http 192 168 1 67 5555 has been blocked from loading by Cross Origin Resource Sharing policy Invalid r
  • 如何使用 javascript/ASP.NET/CSS 旋转和淡入淡出背景图像

    我需要随机淡入淡出背景图像 这将是一个定时函数 例如每 5 秒一次 我需要使用 ASP NET Javascript CSS 或全部三者来完成此操作 请大家帮帮我 谢谢 Cycle 一个 jQuery 插件 是一个非常灵活的图像旋转解决方案
  • 从字符串中提取电子邮件地址

    我有一个像这样的字符串 Francesco Renga lt email protected cdn cgi l email protection gt 我只需要提取电子邮件 即 电子邮件受保护 cdn cgi l email protec
  • 如何使用 RSpec 测试 javascript 重定向?

    我正在使用 xhr post 与控制器交互 并且我期待重定向 在 js erb 中 我有 window location href address 手动测试 浏览器会正确重定向 我如何使用 RSpec 测试它 response should
  • 将 MVC 操作结果发送到打印机

    我有一个带有操作的控制器 SomeController ActionToBePrinted ActionToBePrinted 返回一个 html 视图 当按下按钮时 从普通的 mvc razor 视图调用此操作 当按下按钮时 我将如何将视
  • 任何 JavaScript 代码都是有效的 TypeScript 代码吗?

    目前我已经开始学习TypeScript 从我研究过的文档来看TypeScript 我看到一些纯的样品JavaScript代码可以编译为TypeScript code 我的问题是 TypeScript 语言的设计方式是否使任何 JavaScr
  • 为 Promise 编写循环的正确方法。

    如何正确构造循环以确保满足以下条件承诺电话和被束缚的记录器 log res 通过迭代同步运行 蓝鸟 db getUser email then function res logger log res this is a promise 我尝
  • 如何为多个元素添加Class?

    我正在使用这段 javascript 向多个元素添加一个类 我试图引用多个 div 并向它们添加类 它只适用于第一个 JavaScript
  • React-Router v5 History.push 不触发组件

    很抱歉朋友们又问这个问题了 我找到了解决这个问题的几个方法 但他们让我很困惑 我只是想问一个优雅的方法来做到这一点 正如你通过标题所理解的 我有一个关于反应路由的问题 让我解释 我有一个按钮 其名称是Login 单击按钮后 我执行了一些逻辑
  • 节省页面加载时间的提示[重复]

    这个问题在这里已经有答案了 我的问题 削减那些不必要的 kb 并使页面加载速度更快的最佳方法是什么 全部是什么优化实践 编码实践 在js php中 如果执行可以使您的页面更轻 为什么我问这个 我读了这篇关于 jquery js 与 jque
  • setTimeout() 的问题

    这是我的代码 我想要它做的是写 0 等待一秒 写 1 等待一秒 写 2 等待一秒 等等 而是写 5 5 5 5 5 for i 0 i lt 5 i setTimeout document write i 1000 http jsfiddl
  • 在javascript中通过window.location传递数据

    我试图通过 window location 传递数据 数据在 del id img album 中可用 我想通过 window location 发送多个值 window location save php type deldownload
  • Immutable.js 推入嵌套对象中的数组

    假设有一个对象 const object foo bar 1 2 3 我需要推动4 to object foo bar array 现在我正在这样做 const initialState Immutable fromJS object co
  • javascript 多维类型数组 (Int8Array) 示例

    我尝试使用类型数组而不是数组来减少内存 function createarrayInt8 numrows numcols number var arr new Int8Array numrows for var i 0 i lt numro
  • 为什么react中的组件需要大写? [复制]

    这个问题在这里已经有答案了 因此 当您声明一个组件以小写首字母进行反应时 它不会显示 也不会引发错误 当您将组件名称大写时 它确实有效 这样的实现是怎样的呢 为了避免与现有的 html 元素发生冲突 还是这是一个错误 var test Re
  • jQuery.ajax() 记录 HTTP 请求

    我有一个发送 HTTP POST 请求的函数 我想记录它以进行调试 这是函数 function serverRequest URL DATA callback ajax url URL type POST dataType text con
  • 使用 document.getElementsByName() 不起作用?

    第二个警报命令的代码按预期工作 显示元素 to 的值 但第一个警报命令不起作用 它应该做同样的事情 这是为什么

随机推荐