问题标签 [safari7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
913 浏览

jquery - jQuery AJAX CORS 请求在 Safari 和 OS X 中的 Chrome 中不起作用

创建了一个简单的 jQuery Ajax 代码,它向服务于 REST API 的服务器发出 CORS 请求。在服务器中应用了 CORS 过滤器,并在过滤器映射中应用了必要的更改,用于 Access-Control-Allow-Origin、Access-Control-Allow-Headers、Access-Control-Allow-Methods、Access-Control-Allow-Credentials 等。

jQuery ajax 调用在 Windows 操作系统中的 Chrome、Safari、IE 中运行良好,也适用于 iOS 设备。但是相同的代码在 Safari、OS X 的 Chrome 中不起作用。当我运行脚本文件时,首先它发出一个预检 OPTION 请求,但 OPTION 请求失败说ERR_NO_RESPONSE. 但我在该 OPTION 请求中看不到任何响应标头。在wireshark 中验证OPTION 请求期间没有向服务器发出请求。然后在 curl 命令中验证(即curl -X OPTIONS http://myserverdomain.com)。命令成功并得到响应。

无法理解为什么它在 OS X 的浏览器中不起作用。验证浏览器设置,检查防火墙,禁用网络安全,但同样的问题仍然存在。

下面是我正在使用的 jQuery ajax 代码:

0 投票
1 回答
69 浏览

javascript - Safari 7 无限 POST 请求


我被这样的问题困住了。我有一个表格。当用户提交他的数据时,我正在通过 post ajax 请求发送一些数据。成功后,我将一些数据设置为隐藏表单,该表单具有指向当前 url 子域的操作,但实际上指向通过 CNAME 设置的合作伙伴站点 url。然后我在这个隐藏表单上触发 jQuery 提交事件,所以在响应用户在合作伙伴网站上之后(隐藏表单没有目标属性)。它可以在除 Mac 上的 Safari 7 之外的任何浏览器中正常工作。它只是加载无限时间。
任何帮助表示赞赏。

好吧,代码不多。我运行这个失败:

我的隐藏表单如下所示:

0 投票
1 回答
361 浏览

javascript - 注入脚本的 Safari 扩展设置

我正在尝试将我的 safari 扩展中的设置中的变量传递给注入的 javascript。我设法让消息传递,但不知道如何在 handleMessage 范围之外使用该变量,以便可以在注入的文件中使用它。handleMessage 函数中的变量printerNAME似乎无法在函数外部访问?

全局.html

注入的.js