JS 读取本地文件

近日参加一个比赛,想锦上添花的加一个应用程序,但不会C#,所以想到做一个WEB应用。应用功能需要读取本地文件内容。在网上找了几日,都需要创建ActiveX对象,但该对象一般应用于IE浏览器。虽然火狐与chrome也有办法实现,但个人嫌太过麻烦。终于在某个地方找到一种简单的方法(具体在哪里,本人忘记了....感谢代码贡献者!),然而实际上就是创建getXMLHttpRequest()对象,向服务器获取数据请求,但你可以把src设为本地地址。JS代码如下:亲测可以在chrome、火狐、IE都可使用,其他浏览器不知道行不行。

/**
 * Created by Administrator on 2017/7/5.
 */
var LineReader = function () {
    var progId, progIds = ["MSXML2.XMLHTTP.6.0" , "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];

    function getXMLHttpRequest()
    {
        if (!window.ActiveXObject) {
            return new XMLHttpRequest();
        } else if (progId != null) {
            return new ActiveXObject(progId);
        } else {
            for (var i = 0; i < progIds.length; i++)
            {
                try {
                    return new ActiveXObject(progId = progIds[i]);
                } catch (ex) {
                    progId = null;
                }
            }
        }
    }
    function loadClass(src)
    {
        try
        {
            var xmlHttp = getXMLHttpRequest();
            xmlHttp.open("GET", src, false);
            xmlHttp.send(null);
            var stus = xmlHttp.status;
            if (stus == 200 || stus == 0 || stus == 304)
            {
                return xmlHttp.responseText;
            }
        }catch(ex){
            alert("error!");
        }
    }
    return loadClass("Student.txt");
}; 
 然后在你的html中调用LineReader()函数的返回值就OK了。


原创文章 24 获赞 45 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weilixin88/article/details/74832303