首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取代ActiveXObject("Scripting.FileSystemObject");

取代ActiveXObject("Scripting.FileSystemObject");
EN

Stack Overflow用户
提问于 2022-04-18 21:14:05
回答 1查看 76关注 0票数 0

重构旧的javascript代码,下面的ActiveX代码的有效替代是什么?只是有写本地文件的能力。

代码语言:javascript
复制
function WriteToFile(bufObj, fileName) {
 var fileObj;
 fileObj = new ActiveXObject("Scripting.FileSystemObject");
 fileObj = fileObj.OpenTextFile(fileName, ForWriting, true, TristateMixed);
 fileObj.Write(bufObj);
 fileObj.Close();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-18 21:45:54

在现代浏览器中,你没有这种能力。(除非有人疯狂到仍然允许使用ActiveX控件-现在没有人允许这样做了)。

本地文件系统是100%放手!

如果你允许的话?

那么当你来我的网站看一张可爱的猫图片?然后,我要翻找-和向上-负荷,比如说一个文本文件,称为“我的密码”。或者我去找一份叫做我的银行的文件怎么样?

或者拿走你所有的电子邮件?

实际上,在使用文件加载时,JavaScript甚至不能选择或设置文件.因此,任何类型的本地文件访问都是不允许的,这是不可能的。

如果这是允许的,那么没有人会再次使用或信任互联网!

这是一个远远不够大的安全漏洞。现在,也许这可能是一些内部“仅”的网站,某种本地文件的权利和访问是允许的?既然如此?您必须继续允许和设置浏览器,以允许ActiveX的内部网站-但这是一个高风险的冒险。

因此,您没有替代品,因为浏览器被锁定在代码之外,甚至是触摸、了解或了解客户端文件夹。此外,用户可能在他们的安卓手机,或iPad -和他们有相当不同的文件系统无论如何(他们也不支持ActiveX )。

所以,现代浏览器具有零能力,我重复零能力看到,触摸,知道任何本地文件的存在-它很简单,不允许。解决这一问题的唯一方法是找到一个仍然支持和允许ActiveX的浏览器--而这些浏览器现在还很少支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71917148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档