2010-10-21 48 views
8

我有一个本地带有ajax函数的html文件,尝试从x.com中提取xml内容。运行时文件只能在IE浏览器上运行,并且在Firefox和Safari浏览器上无法运行。当然这可能是因为相同的产地政策。但是,我从某人那里听说,对于使用file://协议加载的脚本,此相同的原产地策略将不适用。这是真的,如果是的话,我的本地html文件有什么问题?即使对于本地文件,跨域ajax也会失败

回答

8

它确实应用于本地文件,将它们全部视为单独​​的域(因浏览器而异,如您所见)。例如在Chrome中,你可以使用命令行启动它允许这样的:

chrome.exe --allow-file-access-from-files 
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?"); 
      } 
     } 
相关问题