有關ActiveXObject的兼容性問題(瀏覽器的特有屬性)


  這個問題還得從一開始時候學習有關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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM