我想在我的Windows机器上开发JavaScript。你知道一个我可以关闭同源政策的浏览器,所以我可以在本地开发吗? Firefox将是最佳的。
或者如果你知道我可以用于SOAP / WSDL站点的代理,它也会很棒。
我正在尝试使用JavaSCript SOAP Client。
答案 0 :(得分:15)
更新6/2012:这在写作时曾经有用,但显然已经没有了。遗憾。强>
在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问题跟踪器中创建了an issue以实现相同的功能,因此您可以尝试使用参数--disable-web-security
启动Chrome。我不知道哪个版本的确适用,但至少诺基亚WRT Tools附带一个Chrome安装,实际上允许从其他网站加载内容。
答案 1 :(得分:6)
不幸的是,使用以下内容:
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
Firefox 5中已禁用。
答案 2 :(得分:2)
在本地服务器上创建一个调用远程服务器的页面,并回答与远程服务器相同的页面。
示例,javascript调用本地服务器获取JSON。本地服务器为该JSON调用远程服务器。本地服务器从远程服务器接收JSON并将其发送到javascript。
答案 3 :(得分:2)
使用Chromium 13.07,您可以在禁用安全性的情况下启动它:
/ usr / bin / chromium-browser --disable-web-security
这是在Ubuntu 11上,但将位置更改为您的系统。
答案 4 :(得分:1)
当谈到在生产中绕过相同的原始政策时,所有给出的答案都是好的。
对于开发,没有方便的方法来“禁用”此安全检查。有解决方法(参见其他答案)或黑客攻击(你可以使用Greasemonkey来包装JavaScript并使用他们的GM_xmlhttprequest作为临时措施),但是无法像你描述的那样实际“关闭它”。
答案 5 :(得分:0)
Firefox将是最佳选择。
如果您可以使用Internet Explorer,则可以使用.hta应用程序
http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx
(这是Selenium测试自动化工具处理问题的方法之一)
答案 6 :(得分:0)
我对此没有任何实际经验,但FireFox 3.5允许根据W3C Cross-Origin Resource Sharing Draft提供跨站点JS。
答案 7 :(得分:0)
在Chrome(& Chromium)48及以上版本中,您应该添加标记--user-data-dir
,如下所示:
chromium-browser --disable-web-security --user-data-dir
它有效。
答案 8 :(得分:0)
我在Mac上运行此命令,当我使用google chrome运行我的项目时,该命令对我有效。
open -a Google\ Chrome --args --disable-web-security --user-data-dir
答案 9 :(得分:-1)
您还可以通过ssh将本地端口重定向到远程服务器和端口。