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