Javascript html中的文件读取

Javascript html中的文件读取,javascript,html,filereader,Javascript,Html,Filereader,我想知道除了文件读取api和XMLHttprequest()之外,是否还有其他方法可以读取/加载支持几乎所有web浏览器的文本文件。 我没有使用xmlhttprequest(),因为它不能在少数浏览器中运行,比如chrome(因为它有一个bug) 我想知道这方面的纯javascript/html方法,并希望避免使用php和django脚本 我尝试了以下xmlhttprequest方法 <!doctype html> <html> <head> <

我想知道除了文件读取api和
XMLHttprequest()
之外,是否还有其他方法可以读取/加载支持几乎所有web浏览器的文本文件。
我没有使用
xmlhttprequest()
,因为它不能在少数浏览器中运行,比如chrome(因为它有一个bug) 我想知道这方面的纯javascript/html方法,并希望避免使用php和django脚本

我尝试了以下xmlhttprequest方法

<!doctype html>
<html>
<head>
    <body>  
    <script>
    if (window.File && window.FileReader && window.FileList && winddow.Blob) { //alert('Great success! All the File APIs are supported.');
}
    else {
  alert('The File APIs are not fully supported in this browser.');
}
var req = new XMLHttpRequest();
req.open('GET', 'text.txt');
req.onreadystatechange = function() {
  if (req.readyState == 4) {
    if (req.status == 200) {
      var lines = req.responseText.split(/\n/g);
      lines.forEach(function(line, i) {
        alert(line);
      });
    } else {
       (alert("please update your browser,this webpage doesnt have     support for your browser"))
    }
  }
}
req.send();
    </script>
    </body>
</head>
</html>

如果(window.File&&window.FileReader&&window.FileList&&winddow.Blob){//alert('非常成功!支持所有文件API');
}
否则{
警报('此浏览器不完全支持文件API');
}
var req=新的XMLHttpRequest();
请求打开('GET','text.txt');
req.onreadystatechange=函数(){
如果(req.readyState==4){
如果(请求状态==200){
变量行=请求响应文本拆分(/\n/g);
行。forEach(函数(行,i){
警戒线;
});
}否则{
(警告(“请更新您的浏览器,此网页不支持您的浏览器”))
}
}
}
请求发送();
这在firefox 35.0.1中运行
但是当我尝试在chrome中使用它时,它不起作用

但是如果我删除条件if(req.status==200),那么我会收到一个没有文本的警报。

用户控制的文件api和可编写脚本的XMLHTTPRequest几乎是唯一的选项。或者,您可能会很幸运地使用java、flash或silverlight(etc)方法(我现在将这留给其他答案)

您自己(开发)机器的备选方案:
对于chrome,您可以使用以下命令允许XMLHttpRequest从其他文件访问文件:
--允许从文件访问文件

这至少比使用:禁用web安全性更安全

另一个快速解决方案是“微小”:
我喜欢它,因为它很小!!然后(通过环回ip或本地计算机ip或通过hostfile的主机名),我解决了这些限制,清除了cookie/sandbox/local存储功能的路径以及您试图解决的问题


然而,这对一个简单的可分发html/javascript应用程序没有帮助。。。正如您所指出的,它目前是chrome的“不可修复”文件。

如果您有权访问该文本文件,您可以将其编辑为

var text = "ORIGINAL TEXT" 

并将文件添加为脚本标记。

因此,请运行chrome以允许文件访问。请向我们展示您迄今为止的代码。啊,著名的http状态代码。200:“确定”,而不是200:“更新浏览器”