有关ActiveXObject的兼容性问题(浏览器的特有属性)

版权声明:如有转载请注明出处 https://blog.csdn.net/hdp134793/article/details/81519048

  这个问题还得从一开始时候学习有关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浏览器的。
展开阅读全文

没有更多推荐了,返回首页