2010-03-09 78 views
11

我需要从运行在firefox中的脚本发出一个跨域请求(它仅用于开发目的)。Firefox跨域请求

这可以实现吗?也许修改about:config键?

谢谢!

+0

我更新回答,我认为Firefox插件会做你需要的。 – rook

回答

2

Opera 10.5允许“允许跨域访问”。

1

Same Origin Policy适用于所有浏览器。使用JavaScript,您可以发送GET和POST请求,但您将无法像使用XHR一样阅读响应。 XHR只能针对脚本执行的域进行。这是一个重要的规则,因为它可以防止广泛的跨站点请求伪造(CSRF)漏洞。

您可以使用flash with a crossdomain.xml file,我认为这是最强大的解决方案,因为它可以完全满足您的需求并具有最佳的浏览器兼容性。

编辑:如果你想专门在Firefox上运行的JavaScript绕过相同的原点策略,那么你可以构建一个自定义加载项。或者,也许Cross Domain add-on将做你需要的。

+0

我不需要浏览器兼容性。这就是为什么我指定我只需要这个FF。无论如何感谢 –

+0

+1赞的Cross Domain补充! –

+0

任何人都知道Rook引用的“跨域加载项”发生了什么?该链接似乎死了,但我拼命搜索Firefox的一个附加组件,允许为开发目的发送跨域请求(dojo mobile) –

3

James Padolsey关于如何使用jQuery跨域请求有一个很好的帖子,但该帖子也有非常好的资源。有需要进行一些调整到其他服务器上完成,以允许跨域调用使用的crossdomain.xml

+0

+1 YQL真棒。 – rook

+0

链接isbroken atm – Claudiu

2

晚了一点,但想到我会在这里发布信息无妨;

我没有完全读取每个人的答案的链接,但我有一个快看,我没有看到任何人使用PrivilegeManager提到 - Bypassing Security Restrictions and Signing Code。使用此功能,您可以让FireFox JavaScript应用程序在浏览器中调用扩展安全权限的请求,包括跨域XHR。

0

正如'The Rook'所提到的,只要您要与之通话的服务器提供允许您访问服务器的XML策略文件,就可以使用Flash执行跨域请求。如果您控制两台应该很容易完成的服务器。

如果你不想写任何Flash代码自己或如果你想能够做到通过SSL/TLS跨域检查出的开源Forge项目:

http://github.com/digitalbazaar/forge/blob/master/README

+0

只要你控制服务器,你也可以使用CORS。 – Antimony

+0

今天(2013)确实如此。尽管如此,仍然存在您希望/需要更多控制TLS堆栈的用例,因此上述建议仍可能适用。 – dlongley