Javascript 如何在Firefox中允许来自greasemonkey脚本的跨源请求?

Javascript 如何在Firefox中允许来自greasemonkey脚本的跨源请求?,javascript,google-chrome,firefox,cross-domain,localhost,Javascript,Google Chrome,Firefox,Cross Domain,Localhost,我正在开发一个Greasemonkey脚本,它在网页上实现了一些工具。此脚本从中请求数据 http://localhost/chess/heartbeat.php 现在在Firefox中,我遇到了这个控制台错误,它完全停止了我的jQueryAjax数据请求 已阻止跨源请求:同一源策略不允许读取位于的远程资源 这可以通过将资源移动到同一域或启用CORS来解决 我可以用谷歌浏览器解决这个问题。当我把它作为chrome的一个简单浏览器扩展时,我可以让它做与Greasemonkey相同的事情,并且我

我正在开发一个Greasemonkey脚本,它在网页上实现了一些工具。此脚本从中请求数据

http://localhost/chess/heartbeat.php 
现在在Firefox中,我遇到了这个控制台错误,它完全停止了我的jQueryAjax数据请求

已阻止跨源请求:同一源策略不允许读取位于的远程资源

这可以通过将资源移动到同一域或启用CORS来解决

我可以用谷歌浏览器解决这个问题。当我把它作为chrome的一个简单浏览器扩展时,我可以让它做与Greasemonkey相同的事情,并且我可以为插件的清单文件添加以下权限,允许我提出与Firefox阻止的相同的数据请求:

"permissions": [
    "<all_urls>"
  ]
“权限”:[
""
]

无论如何,这在chrome上是有效的,但我想在Firefox上实现同样的效果。我一直在研究这个问题,我找不到一个简单的答案。

通常
XMLHttpRquest
,其中包括jQuery的更高级别API,不允许不受限制的跨站点请求,但受同一来源策略和限制

正如@epascarello已经指出的,您可以使用()来执行任何跨站点的XHR,即使服务器没有实现CORS或允许源站点。它还附带一些其他的好东西

您应该在用户脚本中添加元数据块,否则脚本将来可能会中断

因为您提到了Chrome扩展:Firefox扩展也可以执行跨站点XHR。
例如,大多数用户脚本应该可以方便地移植到SDK附加组件上,使用并启用类似于您在Chrome扩展中所做的操作。

成功了,您是一个救命恩人!如果有一种跨浏览器的方法可以在脚本和扩展上工作,那么事情就会简单得多。它们只在扩展范围而不是页面范围内执行XHR,这就相当困难了。
"permissions": [
    "<all_urls>"
  ]