我有一个带有ajax函数的本地 html文件,试图从 x.com 中提取xml内容。运行时的文件仅适用于IE,并且在firefox和safari浏览器上失败。当然,这可能是因为同源政策。但是,我从某人那里听说,对于使用file://协议加载的脚本,此同源策略将不适用。是真的,如果是的话,我的本地html文件会出现什么问题?
答案 0 :(得分:8)
它确实应用于本地文件,将它们全部视为单独的域(这取决于您所看到的浏览器)。例如,在Chrome中,您可以使用命令行启动它,以允许此操作:
chrome.exe --allow-file-access-from-files
答案 1 :(得分:5)
在Mozilla文件中,uri甚至有更严格的相同来源政策限制。https://developer.mozilla.org/En/Same-origin_policy_for_file:_URIs 但是,您可以通过以下方式申请全局访问权限来覆盖:
if (navigator.userAgent.indexOf("Firefox") != -1) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
catch (e) {
alert("Permission UniversalBrowserRead denied -- not running Mozilla?");
}
}