Javascript 我可以在任何浏览器上禁用SOP(同源策略)进行开发吗?

Javascript 我可以在任何浏览器上禁用SOP(同源策略)进行开发吗?,javascript,soap,wsdl,same-origin-policy,Javascript,Soap,Wsdl,Same Origin Policy,我想在我的Windows机器上开发JavaScript。你知道一个可以关闭同源策略的浏览器吗,这样我就可以在本地开发?Firefox将是最佳选择 或者,如果您知道我可以用于SOAP/WSDL站点的代理,那也太好了 我试着和你一起工作 Firefox将是最佳选择 如果您可以使用Internet Explorer,则可以使用.hta应用程序 (这是Selenium测试自动化工具处理此问题的方法之一)在本地服务器上创建一个页面,调用远程服务器,并与远程服务器的应答相同 例如,javascript为J

我想在我的Windows机器上开发JavaScript。你知道一个可以关闭同源策略的浏览器吗,这样我就可以在本地开发?Firefox将是最佳选择

或者,如果您知道我可以用于SOAP/WSDL站点的代理,那也太好了

我试着和你一起工作

Firefox将是最佳选择

如果您可以使用Internet Explorer,则可以使用.hta应用程序


(这是Selenium测试自动化工具处理此问题的方法之一)

在本地服务器上创建一个页面,调用远程服务器,并与远程服务器的应答相同


例如,javascript为JSON调用本地服务器。本地服务器为该JSON调用远程服务器。本地服务器从远程服务器接收JSON并将其发送到javascript。

对于在生产中绕过同源策略,所有给出的答案都是好的


对于开发,没有方便的方法“禁用”此安全检查。有解决办法(见其他答案)或黑客(你可以使用Greasemonkey包装JavaScript并使用他们的GM_xmlhttprequest作为临时措施),但没有办法像你所描述的那样真正“关闭”。你也可以通过ssh将本地端口重定向到远程服务器和端口。

我没有这方面的实际经验,但是FireFox 3.5允许跨站点JS


请参阅:

2012年6月更新:在撰写本文时,这一功能曾经有效,但显然不再有效。对不起。

在Firefox中(可能也适用于其他基于Gecko的浏览器),您可以使用以下JavaScript片段来允许跨域调用:

if (navigator.userAgent.indexOf("Firefox") != -1) {
    try {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    } 
    catch (e) {
        alert("Permission UniversalBrowserRead denied -- not running Mozilla?");
    }
}

看起来Chromium问题跟踪器中已经创建了用于实现相同功能的程序,因此您可以尝试使用参数
--禁用web安全性
启动Chrome。我不知道这是基于哪个版本的,但至少诺基亚的Chrome安装确实允许从其他网站加载内容。

不幸的是,使用以下内容:

netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
已在Firefox 5中禁用


使用Chromium 13.07,您可以在禁用安全功能的情况下启动它:

/usr/bin/chromium浏览器--禁用web安全

这在Ubuntu 11上,但将位置更改为您的系统。

在Chrome(&Chrome)48和更高版本中,您应该添加标志--user data dir
,如下所示:

chromium-browser --disable-web-security --user-data-dir

它可以工作。

我在mac上运行这个命令,当我使用google chrome运行我的项目时,它可以在我身上工作

open -a Google\ Chrome --args --disable-web-security --user-data-dir

我在开发MySpace应用程序时也有同样的愿望。这确实是测试代码的方法。弹出一个警告,然后就可以了。非常感谢!记录在案,这几乎相当于开发的Chrome/Chrome启动参数字符串:“--允许文件访问--禁用web安全--启用文件cookie--磁盘缓存大小=1--媒体缓存大小=1”/opt/google/Chrome/google Chrome--禁用Linux Mint 11.04上为我工作的web安全,Google Chrome 14.0.8但是web服务器必须通过发送HTTP响应头来启用CORS:Access Control Allow Origin:*例如,我想在这里指出一个明显的问题。如果Firefox5不让我这么做,而我真的需要这么做,我会用Firefox4来代替。这不是世界末日。