傳統瀏覽器能夠使用window.ActiveXObject檢查瀏覽器是否啓用相關的控件。檢查瀏覽器是否啓用flash控件,須要先檢查瀏覽器是否支持ActiveXObject,能夠使用typeof檢查window.ActiveXObject是否等於undefined,語法:瀏覽器
typeof window.ActiveXObject != "undefined"
若是,window.ActiveXObject不等於undefined,使用new ActiveXObject("ShockwaveFlash.ShockwaveFlash")返回flash控件。函數
谷歌、火狐、微軟Edge、Safari等現代瀏覽器不支持ActiveXObject,它們支持navigator.plugins檢查瀏覽器插件,所以谷歌、火狐等瀏覽器均可以使用navigator.plugins檢查瀏覽器是否啓用flash插件,能夠使用下面的代碼返回flash插件:spa
var swf = navigator.plugins['Shockwave Flash'];
封裝一個兼容性代碼:插件
function hasUsableSWF(){ var swf; if(typeof window.ActiveXObject != "undefined"){ swf = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); }else{ swf = navigator.plugins['Shockwave Flash']; } return swf ? true : false; };
上面的hasUsableSWF函數檢查瀏覽器是否支持flash,若是支持返回true, 不然返回false.code