这个问题还得从一开始时候学习有关javascript中有关对文件的一些操作。
对于每个前端的人应该都清楚有关File对象,其中包括多种方法,就不一一描述了,比如说她是通过FileSystemObject对象的GetFile()方法来创建的,其中的增删改查不太清楚的可以自行去理解。
接着上述的话题继续,有关创建File对象的时候,我们一般会定义一个fso对象变量,让其获得FileSystemObject对象,然后再调用上述方法,也就是这句:
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(xxx);
是故会出现这个ActiveXObject对象,她是启用并返回 Automation 对象的引用
使用方法(此处转载):
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 对象语法有这些部分:
其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
servername是必选项。提供该对象的应用程序的名称。
typename是必选项。要创建的对象的类型或类。
location是可选项。创建该对象的网络服务器的名称。
Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
由于只有IE浏览器支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数。只要判断window对象存在ActiveXObject函数,就可以明确判断出当前浏览器是IE,是故她也是可以用来判断浏览器是否支持ActiveX控件。对于其他的浏览器就不建议使用该函数(我觉得没意义);
延伸扩展:如何判断当前浏览器是什么浏览器?
简而言之,每个浏览器的独有属性的一个罗列:
总所周知:当下比较常用的有
Firefox(火狐浏览器)、Opera(欧鹏浏览器)、Safari(苹果公司的网络浏览器)、Chrome(谷歌浏览器);
下面一一对各个浏览器相对独有的特性进行一个描述(暂时不谈论内核的差距,主要是从相关函数进行分析)。
Firefox中的DOM元素都有一个getBoxObjectFor函数,用来获取该DOM元素的位置和大小(IE对应的中是getBoundingClientRect函数)。这是Firefox独有的,判断它即可知道是当前浏览器是Firefox。
Opera提供了专门的浏览器标志,就是window.opera属性。
Safari浏览器中有一个其他浏览器没有的openDatabase函数,可做为判断Safari的标志。
Chrome有一个MessageEvent函数,但Firefox也有。不过,好在Chrome并没有Firefox的getBoxObjectFor函数,根据这个条件还是可以准确判断出Chrome浏览器的。
码字不易,一定是穷疯了才敢贴二维码求打赏:

博客已搬家到CSDN地址为:
https://blog.csdn.net/hdp134793/article/details/81519048
https://blog.csdn.net/hdp134793/article/details/81519048