是否有使用JavaScript完成的本地文件操作?我正在寻找一种可以在没有安装空间的情况下完成的解决方案,例如需要AIR.
具体来说,我想从文件中读取内容并将这些内容写入另一个文件.在这一点上,我并不担心获得权限,只是假设我已经拥有这些文件的完全权限.
当尝试使用本地文件中的XMLHttpRequest执行HTTP请求时,它基本上由于Access-Control-Allow-Origin违规而失败.
但是,我自己正在使用本地网页,所以我想知道是否有任何方法可以让Google Chrome允许这些请求,这些请求是从本地文件到Internet上的URL.
例如,$.get('http://www.google.com/')在本地文件中执行时失败,但我自己编写了脚本并且我自己使用它,因此如果我可以抑制它并加载URL,那将非常有用.
那么,我如何允许Google Chrome使用本地文件中的XMLHttpRequest加载网址?
我有一个非常简单的测试页面,它使用jQuery的$ .getJSON和$ .ajax方法的XHR请求.同一页面在某些情况下有效,而在其他情况下则无效.特别是,它在Ubuntu上的Chrome中不起作用.
我正在使用Chrome 5.0.342.7测试版测试Ubuntu 9.10,使用Chrome 5.0.307.9测试版测试Mac OSX 10.6.2.
可以从这里下载tar/gzip文件中的一小组3个文件:http: //issues.tauren.com/testjson/testjson.tgz
当它工作时,Chrome控制台会说:
XHR finished loading: "http://issues.tauren.com/testjson/data.json".
index.html:16Using getJSON
index.html:21
Object
result: "success"
__proto__: Object
index.html:22success
XHR finished loading: "http://issues.tauren.com/testjson/data.json".
index.html:29Using ajax with json dataType
index.html:34
Object
result: "success"
__proto__: Object
index.html:35success
XHR finished loading: "http://issues.tauren.com/testjson/data.json".
index.html:46Using ajax with text dataType
index.html:51{"result":"success"}
index.html:52undefined
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,Chrome控制台将显示以下内容:
index.html:16Using getJSON
index.html:21null
index.html:22Uncaught TypeError: Cannot read property 'result' of null
index.html:29Using ajax with …Run Code Online (Sandbox Code Playgroud)