我知道存在原因问题,但此处无法设置网络服务器。 Firefox v14加载本地文件没有问题。 添加'--allow-file-access-from-files'后,Chrome没有问题 还有什么方法可以修复IE9吗? 谢谢
编辑:我找到了解决方案。只需使用ActiveXObject(“MSXML2.XMLHTTP.6.0”)代替IE9的XMLHttpRequest()来克服本地文件访问拒绝问题。
答案 0 :(得分:4)
Ajax与否。 HTTP是一种客户端 - 服务器应用程序协议。没有服务器,就是不可能。
更新:
显然,chrome(和firefox)中的Possible。至于IE,你可以阅读Mark of the Web。
答案 1 :(得分:0)
据我所知,
考虑到安全问题,javascript最好不要访问本地文件。所以它不能成为标准。
在AJAX中,有各种方法可以访问各个浏览器的本地文件。
对于IE,正如您似乎已经知道的那样,在最初声明AJAX对象时,您应该使用new ActiveXObject()
代替。
JavaScript库JQuery的AJAX允许您访问本地文件。我认为它实现了不同浏览器的所有方式,例如ActiveXObject for IE。 JQuery的AJAX非常易于使用;每个人都喜欢它。但如上所述,存在安全问题。由于JQuery包含了所有内容,因此对于访问您网站的人来说,JQuery可能会很危险。
=============================================== ====================
ref:http://jquery.tiddlywiki.org/twFile.html(告诉你JQuery实现对本地文件的访问的方式)
答案 2 :(得分:0)
如果你正在使用requirejs的text plugin,你所要做的就是将它添加到第一个require.config参数中:
requirejs.config({
config: {
text: {
createXhr: function(){
return new ActiveXObject("MSXML2.XMLHTTP.6.0");
}
}
}
});
也许其他JS库使用类似的语法。值得深思。