国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

flash在chrome中的狀態檢測

wwolf / 761人閱讀

摘要:未安裝一般使用檢測中安裝的情況,奇怪的是,目前即使沒有安裝,這段代碼仍然可以檢測到信息。已安裝已啟用未允許這種狀態的問題在于,瀏覽器確實安裝了,也可以檢測到安裝了。這種狀態無法從中檢測,因為結果沒有任何異樣。

前前言

chrome 更新太快了,文章的內容已過期!
chrome 更新太快了,文章的內容已過期!
chrome 更新太快了,文章的內容已過期!

前言

隨著chrome的更新,之前的一些依賴flash的代碼邏輯可能不再準確了。最近做了一些測試,總結一下。

測試時間:2016年12月。測試版本:win chrome 55。

正文

代碼中,可能有一些功能是需要flash支持的,可能同時選用了其他技術,這時候就就要寫一些邏輯去判斷flash的狀態,以便選擇技術實現。

以目前的了解,可以把flash在chrome中的狀態分成4種:

未安裝

已安裝被停用

已安裝已啟用未允許(當前域使用flash)

已安裝已啟用已允許

是否停用指的是chrome://plugins中設置是否停用flash:

是否允許指的是右上角出現阻斷提示時的隨手設置,或在chrome://settings/content中的Flash設置:

下面來分析下這4種狀態。

1. 未安裝

一般使用navigator.plugins["Shockwave Flash"]檢測chrome中flash安裝的情況,奇怪的是,目前即使沒有安裝flash,這段代碼仍然可以檢測到flash信息。

經查閱資料和驗證,未安裝flash的chrome中查看chrome://plugins插件信息,雖然有Adobe Flash Player的信息,但“位置”一項顯示的是“internal-not-yet-present”:

而正常安裝flash時:

兩者代碼的區別是這樣的:

所以可以通過filename這個屬性來檢測是否安裝了flash。

2. 已安裝被停用

flash被停用時,navigator.plugins["Shockwave Flash"]無法檢測到flash信息:

所以這種狀態很輕松就可以判斷。

3. 已安裝已啟用未允許

這種狀態的問題在于,瀏覽器確實安裝了flash,navigator.plugins["Shockwave Flash"]也可以檢測到安裝了flash。而當前頁面卻不允許使用flash(chrome的限制策略)。

這種狀態無法從navigator.plugins中檢測,因為結果沒有任何異樣。

但因為瀏覽器限制了flash,所以flash對象是無法成功創建的。可以設置定時器不斷查詢有沒有創建成功,然后設置一個超時次數,比如50次,如果還沒有創建成功的話,可以認為是創建超時,標明這種狀態。

暫時沒有想到更好的判斷方法。

不過檢測這種狀態很有意義。用戶是已經安裝了flash的。只是未允許flash運行,這時候可以簡單提示用戶設置允許運行就可以。一般chrome攔截時,右上角會有攔截設置:

4. 已安裝已啟用已允許

這種狀態一切正常,可以正常使用flash。上文已經提到,插件對象的filename字段會顯示真正的文件名:

補充

不過flash最終是要被取代的技術。保證flash相關代碼穩定的同時,也要調研替代技術啦。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/86604.html

相關文章

  • 《JavaScript高級程序設計》(第3版)讀書筆記 第8章 BOM

    摘要:僅限數值表示新窗口的高度。此時只要檢查這個返回值就可以確定彈窗是否被屏蔽。返回一個布爾值,代表用戶選擇還是返回一個字符串或者,輸入了值并確定,返回字符串,其他方法關閉返回打印查找對話框。 ECMAScript是JavaScript的核心,但如果要在Web中使用JavaScript,那么BOM(瀏覽器對象模型)則無疑才是真正的核心。 W3C為了把瀏覽器中JavaScript最基本的部分...

    AWang 評論0 收藏0
  • JavaScript の 客戶端檢測

    摘要:博文模塊增強模式進行客戶端檢測標簽博文常用的檢測方式為能力檢測用戶代理檢測這里有用戶代理檢測檢測插件非瀏覽器是一個包含瀏覽器插件的數組這個數組的每一項都包含插件的名字插件的描述插件的文件名插件所處理的類型數量檢測插件在中無效方法用于把字符串 [博文]模塊增強模式進行客戶端檢測 標簽: 博文 常用的檢測方式為: [ ] 1 . 能力檢測 [ ] 2 . 用戶代理檢測 這里有 2 ...

    KnewOne 評論0 收藏0
  • JavaScript簡明教程之瀏覽器,前端程序猿必看

    摘要:瀏覽器對象可以獲取瀏覽器提供的很多對象,并進行操作。對象不但充當全局作用域,而且表示瀏覽器窗口。對象表示當前頁面的信息。由于在瀏覽器中以形式表示為樹形結構,對象就是整個樹的根節點。這個行為由瀏覽器實現,主流瀏覽器均支持選項,從開始支持。 由于JavaScript的出現就是為了能在瀏覽器中運行,所以,瀏覽器自然是JavaScript開發者必須要關注的。【寫的比較多,難免有疏漏的地方,希望...

    explorer_ddf 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<