6

我知道存在来源问题,但在这里设置 Web 服务器不是一个选项。Firefox v14 加载本地文件没有问题。添加'--allow-file-access-from-files'后Chrome没有问题有没有办法修复IE9?谢谢


编辑:我想出了解决方案。IE9 只需使用 ActiveXObject("MSXML2.XMLHTTP.6.0") 代替 XMLHttpRequest() 即可克服本地文件访问拒绝问题。

4

3 回答 3

4

阿贾克斯与否。HTTP 是一种客户端-服务器应用程序协议。没有服务器,这是不可能的

更新:

显然可能在chrome(和firefox)中。至于 IE,你可以阅读Mark of the Web

于 2012-08-10T07:20:55.140 回答
0

如果您使用requirejs文本插件,您只需将其添加到第一个 require.config 参数:

requirejs.config({
  config: {
    text: {
      createXhr: function(){
        return new ActiveXObject("MSXML2.XMLHTTP.6.0");
      }
    }
  }
});

也许其他 JS 库使用类似的语法。深思熟虑。

于 2013-03-06T22:04:06.937 回答
0

据我所知,

  1. 考虑到安全问题,javascript最好不要访问本地文件。所以不可能是标准的。

  2. 在 AJAX 中,有各自的方法可以访问各个浏览器的本地文件。

  3. 对于 IE,您似乎已经知道,在最初声明 AJAX 对象时,您应该new ActiveXObject()改用它。

  4. JavaScript 库 JQuery 的 AJAX 允许您访问本地文件。我认为它为不同的浏览器实现了所有方式,例如,用于 IE 的 ActiveXObject。JQuery 的 AJAX 非常好用;每个人都喜欢它。但是如上所述,存在安全问题。由于 JQuery 将其全部包装起来,因此 JQuery 对于访问您网站的人来说可能是危险的。

==================================================== ==================

参考: http: //jquery.tiddlywiki.org/twFile.html(告诉你JQuery实现访问本地文件的方式)

于 2013-01-17T16:47:50.950 回答