Board logo

标题: [交流] 用JS制作的TW插件为什么不能在本地磁盘中创建文本文件? [打印本页]

作者: myie    时间: 2008-5-3 22:50     标题: 用JS制作的TW插件为什么不能在本地磁盘中创建文本文件?

我想JS制作一个插件来自动获取网页上的某些内容,然后把这些内容写入这个插件自动创建的一个记事本中,其中创建记事本的语句如下:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("d:\testfile.txt", true);//在D盘创建一记事本

此语句在本地系统中可以成功运行,但用于JS制作的TW插件中则是无效的(即:不能在D盘创建出testfile.txt文件);
是不是TW插件不支持JS的FileSystemObject (FSO) 对象呢?
现在感到有点郁闷了!!!
请高手指点迷津!
作者: hhhhkkkk    时间: 2008-5-3 23:15

很多系统出于安全性的考虑不允许,网页脚本访问本地文件系统,我以前装的一个系统连状态栏的日期显示都限制了,想别的办法吧,这种脚本通用性太差了
作者: needed    时间: 2008-5-3 23:49

ModuleType 由 script 改成 exe
   
  var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("d:\\testfile.txt", true);

测试通过..
不过这样 . js就无法以dom方式工作..
作者: AY    时间: 2008-5-4 11:11

IE 在 internet zone 是默认禁止 "scripting of activex control not marked as safe",要不网页便能在系统建立/执行任何档案,删除文件,甚至格式化硬盘。

可以用插件命令 writeFile 解决这问题,但出于安全考虑,文档只能在插件的目录内(mt2 的设计,tw2 未必一样)。
作者: myie    时间: 2008-5-11 15:51

插件命令"writeFile"怎么使用啊?可以直接在JS编写的插件中使用吗?
作者: AY    时间: 2008-5-11 22:56

external.writeFile(%max_security_id, plugin_name, file_name, file_content)




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn./) Powered by Discuz! 7.2