js判斷瀏覽器是否安裝或啟用了flash的方法總結



# js判斷瀏覽器是否安裝或啟用了flash的方法

在傳統瀏覽器,可以使用window.ActiveXObject來檢查瀏覽器是否安裝或啟用了相關的控件。檢查瀏覽器是否安裝或啟用了flash控件,首先需要先檢查瀏覽器是否支持ActiveXObject,可以使用typeof檢查window.ActiveXObject是否等於undefined,語法:

typeof window.ActiveXObject != "undefined"

如果,window.ActiveXObject不等於undefined,使用new ActiveXObject("ShockwaveFlash.ShockwaveFlash")返回flash控件對象。

var flashObj = new  ActiveXObject("ShockwaveFlash.ShockwaveFlash");

谷歌、火狐、微軟Edge、Safari等現代瀏覽器不支持ActiveXObject,它們支持navigator.plugins檢查瀏覽器插件,因此谷歌、火狐等瀏覽器都可以使用navigator.plugins檢查瀏覽器是否啟用flash插件,可以使用下面的代碼返回flash插件對象:

var flashObj = navigator.plugins['Shockwave Flash'];

封裝一個兼容性方法:

function hasUsableFlash(){
	var flashObj;
	if(typeof window.ActiveXObject != "undefined"){
        flashObj= new  ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    }else{
        flashObj= navigator.plugins['Shockwave Flash'];
    }
    return flashObj? true : false;
}
var result= hasUsableFlash();
if(!result) {
	alert("您未安裝flash插件,或您瀏覽未啟用flash插件!")
}

# chrome瀏覽器啟用flash插件的方法

目前,chrome瀏覽器默認是禁用flash插件的,如果想讓某個網站啟用flash插件,需要單獨設置;下面以www.baidu.com網站為例:
1、禁用flash:

2、flash禁用狀態下,執行hasUsableFlash方法:返回false;

3、啟用flash:

4、flash啟用狀態下,執行hasUsableFlash方法:返回true;

5、注意:
1)如果點擊“查看網站信息”的鎖形圖標,無法直接看到flash的設置功能,可點擊“網站設置”,進入chrome://settings/content/siteDetails?site=https%3A%2F%2Fjuejin.im 頁面進行設置;

2)啟用或禁用flash插件,是無法用javascript控制的;

# 參考

https://www.bbsmax.com/A/rV57b6GXJP/



免責聲明!

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



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