有没有办法绕过Javascript/jQuery的本地访问相同的原始策略?

ina*_*ina 8 javascript jquery same-origin-policy

尝试使用ajax,getJSON以及类似的功能来从本地(非服务器)的开发计算机的外部URL.有没有办法绕过相同的原始策略,以便我可以在本地测试,而不必上传到服务器?

Vag*_*ant 6

这是一个简单的答案:chrome --disable-web-security

从源代码(chrome_switches.h):

// Don't enforce the same-origin policy.  (Used by people testing their sites.)
const char kDisableWebSecurity[]            = "disable-web-security";
Run Code Online (Sandbox Code Playgroud)

我想使用jquery.js将AJAX调用发送到在端口8080上运行的Google Apps python服务器.为了进行测试,我想在同一台机器上运行浏览器和服务器.

我不了解所有的安全细微差别,但对于临时开发,它似乎是一个合理的解决方法.只要我只使用chrome来测试这个标志,它应该不是问题.

这是Mac OS X的完整命令:

/ Applications/Google\Chrome.app/Contents/MacOS/Google\Chrome --disable-web-security


Ken*_*ler 2

有不同的方法可以解决这个问题,具体取决于您用于开发的浏览器。例如:

  • 在 Firefox (Gecko) 中,设置security.fileuri.strict_origin_policyfalse
  • 在 Chrome 中,使用以下选项启动浏览器--allow-file-access-from-files

参考资料:火狐浏览器Chrome