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