2 qq 40363909 qq_40363909 于 2017.09.23 10:54 提问

如何让js读取本地txt文件内容,作为js脚本运行?

想把js内容作为可更新内容,放在本地或者远程txt文件内,然后作为js代码执行。

比如读取abc.txt。 begin 后的内容都是js,然后作为js代码执行alert。

abc.txt 内容

begin

alert('abc');

9个回答

qq_29594393
qq_29594393   Ds   Rxr 2017.09.23 12:22

用ajax 请求,请求本地json 文件,然后用eval 执行字符串 ,本地读取TXT 文件也是可以的,用jQuery的load 方法
http://www.w3school.com.cn/jquery/ajax_load.asp

sreddouilyongxia
sreddouilyongxia   2017.09.24 22:10

ajax请求,返回值就是你要的结果,因为安全原因,想直接读取文件的内容那是不可能的

qq_38373149
qq_38373149   2017.10.08 13:48

用ajax 请求,请求本地json 文件,然后用eval 执行字符串 ,本地读取TXT 文件也是可以的,用jQuery的load 方法

caoPengFlying
caoPengFlying   2017.10.09 09:25

可以用nodejs 可以直接读取本地文件

qq_37524684
qq_37524684   2017.10.12 16:46

在特殊浏览器(IE版本特别低的浏览器)里是可以直接用js的,但现在一般的浏览器都不能直接读取了,所以你可以借用一些工具,node.js什么的

qq_37524684
qq_37524684 为什么不能读取,这关系到浏览器的协议,具体叫什么协议忘记了
2 个月之前 回复
hgx_suiyuesusu
hgx_suiyuesusu   2017.10.13 16:14

可以看看我的博客文章,不懂可以问我:http://blog.csdn.net/hgx_suiyuesusu/article/details/77984195

cnhuangw186
cnhuangw186   2017.10.14 09:30

第一步:

代码如下:

Var fso=new ActiveXObject(Scripting.FileSystemObject);

创建一个可以将文件翻译成文件流的对象。

第二步:用于创建一个textStream 对象

括号里边有三个属性

  1. 文件的绝对路径

  2. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、 ForWriting 或 ForAppending 。);

  3. 一个布尔值 允许新建则为true 相反为false;

例:

代码如下:

Var f=fso.opentextfile(“C:\a.txt”,1,true);

第三步:调用读取方法

  1. Read(用于读取文件中指定数量的字符)

  2. ReadLine(读取一整行,但不包括换行符)

  3. ReadAll(则读取文本文件的整个内容);

判断是否读取到最后一行

代码如下:

while (!f.AtEndOfStream)
{
f.Readline();
}

第四步:

关闭textStream 对象:

例:f.close();

下面是一个html打开txt文件的例子。

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



你好

var fso, ts, s ; var ForReading = 1; fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile("d:\\testfile.txt", ForReading); s = ts.ReadLine(); document.getElementById("aa").innerHTML=s;


lizhiming930
lizhiming930   2017.10.16 19:33

js是不能读取本地的,(安全问题),远程通过ajax调用

justinytsoft
justinytsoft   2017.09.24 14:53

JS是不能直接读取本地文件的,只有通过AJAX来获取

caozhy
caozhy 回复748038347: 反了也不对
2 个月之前 回复
qq_32225989
qq_32225989 回复caozhy: 说反了...
3 个月之前 回复
caozhy
caozhy js不就是ajax里面的j么?你这回答自相矛盾
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!