傳統瀏覽器可以使用window.ActiveXObject檢查瀏覽器是否啟用相關的控制項。檢查瀏覽器是否啟用flash控制項,需要先檢查瀏覽器是否支持ActiveXObject,可以使用typeof檢查window.ActiveXObject是否等於undefined,語法: 如果,window.Act ...
傳統瀏覽器可以使用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插件:
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.