有沒有一種方法(在JavaScript中)來檢測以下兩種情況?Flash支持與閃存安裝
- 設備支持Flash,但未安裝Flash。
- 設備不支持Flash(即:的iPad,iPhone)
我知道如何在已安裝的Flash檢測,我知道如何檢測的iPad或iPhone特別,但想找到一種方法一般地檢測設備是否支持Flash,而不使用任何類型的白名單或黑名單。
有沒有一種方法(在JavaScript中)來檢測以下兩種情況?Flash支持與閃存安裝
我知道如何在已安裝的Flash檢測,我知道如何檢測的iPad或iPhone特別,但想找到一種方法一般地檢測設備是否支持Flash,而不使用任何類型的白名單或黑名單。
您可以檢測是否安裝了閃光燈。 Adobe爲此提供了Javascript代碼。
您無法檢測到閃存是否受支持(例如可用),但未安裝。根據定義,根據定義,如果未安裝閃存,則設備上不會顯示任何有關是否安裝閃存的信息。您可以看到爲什麼會這樣,因爲設備可能在沒有閃光燈並且沒有閃光燈的情況下在今天發貨,然後閃光燈可能會在以後不用更改設備本身。因此,設備本身不可能知道閃存已經可用。
知道閃存是否可用的唯一方法是維護您自己的巨型設備列表。由於它不斷變化,你甚至不能把它燒成你的javascript。你必須把它放在服務器上並通過ajax獲取信息。
快捷鍵(它聽起來像你已經想過的)是檢測是否安裝了閃存,如果不是,請查看該設備是否是少量高容量設備之一(Android,iDevice,Windows Phone,Windows平板電腦等),並使用預先建立的知識來判斷這些設備是否有可用的閃存。對於其他設備,你只是不知道。
號
你最好的選擇將是存儲支持的用戶代理的映射數組,然後使用一個getSupported()
方法符合對你支持的用戶代理的列表中的用戶代理,以及那些AREN」噸。
不,您是否安裝了閃存,但在理論上無法知道該設備是否支持閃存。
畢竟,地獄可能會結冰,Apple可能會發布適用於iOS的Flash。或者,也許用戶在某些沒有Flash播放器的Itanium上運行一些奇怪的Android版本或Firefox。你將不得不保持所有可用的Flash播放器的列表,這是乏味的。
可能有點晚了這裏,但這個小片段有助於檢查Flash都可:
function is_flash_support() {
var flash_support = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(fo) {
flash_support = true;
}
} catch (e) {
if(navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] != undefined && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
flash_support = true;
}
}
return flash_support;
}