重构旧的javascript代码,下面的ActiveX代码的有效替代是什么?只是有写本地文件的能力。
function WriteToFile(bufObj, fileName) {
var fileObj;
fileObj = new ActiveXObject("Scripting.FileSystemObject");
fileObj = fileObj.OpenTextFile(fileName, ForWriting, true, TristateMixed);
fileObj.Write(bufObj);
fileObj.Close();
}发布于 2022-04-18 21:45:54
在现代浏览器中,你没有这种能力。(除非有人疯狂到仍然允许使用ActiveX控件-现在没有人允许这样做了)。
本地文件系统是100%放手!
如果你允许的话?
那么当你来我的网站看一张可爱的猫图片?然后,我要翻找-和向上-负荷,比如说一个文本文件,称为“我的密码”。或者我去找一份叫做我的银行的文件怎么样?
或者拿走你所有的电子邮件?
实际上,在使用文件加载时,JavaScript甚至不能选择或设置文件.因此,任何类型的本地文件访问都是不允许的,这是不可能的。
如果这是允许的,那么没有人会再次使用或信任互联网!
这是一个远远不够大的安全漏洞。现在,也许这可能是一些内部“仅”的网站,某种本地文件的权利和访问是允许的?既然如此?您必须继续允许和设置浏览器,以允许ActiveX的内部网站-但这是一个高风险的冒险。
因此,您没有替代品,因为浏览器被锁定在代码之外,甚至是触摸、了解或了解客户端文件夹。此外,用户可能在他们的安卓手机,或iPad -和他们有相当不同的文件系统无论如何(他们也不支持ActiveX )。
所以,现代浏览器具有零能力,我重复零能力看到,触摸,知道任何本地文件的存在-它很简单,不允许。解决这一问题的唯一方法是找到一个仍然支持和允许ActiveX的浏览器--而这些浏览器现在还很少支持。
https://stackoverflow.com/questions/71917148
复制相似问题