您的位置:首页 > Web前端 > JavaScript

js dojo 读取txt

2015-07-30 10:16 615 查看
主要为js操作,因整体框架为dojo,顾少部分设计dojo关键字。需要HTML5支持。

需要一个隐藏的<input>标签

<input data-dojo-attach-point="fileSelectNode" type="file" accept=".txt" style="visibility: hidden"/>


js中控制,检查浏览器是否支持File Api,为创建的file input标签添加change事件监听

_openFile: function () {
/// <summary>
/// 打开txt文件
/// </summary>
//检查浏览器是否支持File Api提供的所有功能,如果你只需要部分功能,可以省略其它部分的检查.
if (window.File && window.FileReader && window.FileList && window.Blob){
//全部支持
} else {
alert('该浏览器不全部支持File APIs的功能');
return;
}
dojo.byId(this.fileSelectNode).addEventListener("change",lang.hitch(this,this._onFileSelectChanged));
dojo.byId(this.fileSelectNode).click();
}


监听函数

_onFileSelectChanged: function () {
/// <summary>
/// 当<input type="file">文件变化时事件
/// </summary>
if(dojo.byId(this.fileSelectNode).value == "")
{
return;
}
var reader = new FileReader();
reader.onload = lang.hitch(this,function(e){
var arr = e.target.result.split('\r\n');   //txt中的内容在e.target.result中
});
var temp = dojo.byId(this.fileSelectNode).files[0];
reader.readAsText(temp);

dojo.byId(this.fileSelectNode).value = "";
},

如上代码,在file input的标签中添加FileReader,创建FileReader.onload事件,事件中即可获得txt文件中内容。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: