成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

flash在chrome中的狀態(tài)檢測(cè)

wwolf / 810人閱讀

摘要:未安裝一般使用檢測(cè)中安裝的情況,奇怪的是,目前即使沒(méi)有安裝,這段代碼仍然可以檢測(cè)到信息。已安裝已啟用未允許這種狀態(tài)的問(wèn)題在于,瀏覽器確實(shí)安裝了,也可以檢測(cè)到安裝了。這種狀態(tài)無(wú)法從中檢測(cè),因?yàn)榻Y(jié)果沒(méi)有任何異樣。

前前言

chrome 更新太快了,文章的內(nèi)容已過(guò)期!
chrome 更新太快了,文章的內(nèi)容已過(guò)期!
chrome 更新太快了,文章的內(nèi)容已過(guò)期!

前言

隨著chrome的更新,之前的一些依賴(lài)flash的代碼邏輯可能不再準(zhǔn)確了。最近做了一些測(cè)試,總結(jié)一下。

測(cè)試時(shí)間:2016年12月。測(cè)試版本:win chrome 55。

正文

代碼中,可能有一些功能是需要flash支持的,可能同時(shí)選用了其他技術(shù),這時(shí)候就就要寫(xiě)一些邏輯去判斷flash的狀態(tài),以便選擇技術(shù)實(shí)現(xiàn)。

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

未安裝

已安裝被停用

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

已安裝已啟用已允許

是否停用指的是chrome://plugins中設(shè)置是否停用flash:

是否允許指的是右上角出現(xiàn)阻斷提示時(shí)的隨手設(shè)置,或在chrome://settings/content中的Flash設(shè)置:

下面來(lái)分析下這4種狀態(tài)。

1. 未安裝

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

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

而正常安裝flash時(shí):

兩者代碼的區(qū)別是這樣的:

所以可以通過(guò)filename這個(gè)屬性來(lái)檢測(cè)是否安裝了flash。

2. 已安裝被停用

flash被停用時(shí),navigator.plugins["Shockwave Flash"]無(wú)法檢測(cè)到flash信息:

所以這種狀態(tài)很輕松就可以判斷。

3. 已安裝已啟用未允許

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

這種狀態(tài)無(wú)法從navigator.plugins中檢測(cè),因?yàn)榻Y(jié)果沒(méi)有任何異樣。

但因?yàn)闉g覽器限制了flash,所以flash對(duì)象是無(wú)法成功創(chuàng)建的。可以設(shè)置定時(shí)器不斷查詢(xún)有沒(méi)有創(chuàng)建成功,然后設(shè)置一個(gè)超時(shí)次數(shù),比如50次,如果還沒(méi)有創(chuàng)建成功的話(huà),可以認(rèn)為是創(chuàng)建超時(shí),標(biāo)明這種狀態(tài)。

暫時(shí)沒(méi)有想到更好的判斷方法。

不過(guò)檢測(cè)這種狀態(tài)很有意義。用戶(hù)是已經(jīng)安裝了flash的。只是未允許flash運(yùn)行,這時(shí)候可以簡(jiǎn)單提示用戶(hù)設(shè)置允許運(yùn)行就可以。一般chrome攔截時(shí),右上角會(huì)有攔截設(shè)置:

4. 已安裝已啟用已允許

這種狀態(tài)一切正常,可以正常使用flash。上文已經(jīng)提到,插件對(duì)象的filename字段會(huì)顯示真正的文件名:

補(bǔ)充

不過(guò)flash最終是要被取代的技術(shù)。保證flash相關(guān)代碼穩(wěn)定的同時(shí),也要調(diào)研替代技術(shù)啦。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86604.html

相關(guān)文章

  • 《JavaScript高級(jí)程序設(shè)計(jì)》(第3版)讀書(shū)筆記 第8章 BOM

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

    AWang 評(píng)論0 收藏0
  • JavaScript の 客戶(hù)端檢測(cè)

    摘要:博文模塊增強(qiáng)模式進(jìn)行客戶(hù)端檢測(cè)標(biāo)簽博文常用的檢測(cè)方式為能力檢測(cè)用戶(hù)代理檢測(cè)這里有用戶(hù)代理檢測(cè)檢測(cè)插件非瀏覽器是一個(gè)包含瀏覽器插件的數(shù)組這個(gè)數(shù)組的每一項(xiàng)都包含插件的名字插件的描述插件的文件名插件所處理的類(lèi)型數(shù)量檢測(cè)插件在中無(wú)效方法用于把字符串 [博文]模塊增強(qiáng)模式進(jìn)行客戶(hù)端檢測(cè) 標(biāo)簽: 博文 常用的檢測(cè)方式為: [ ] 1 . 能力檢測(cè) [ ] 2 . 用戶(hù)代理檢測(cè) 這里有 2 ...

    KnewOne 評(píng)論0 收藏0
  • JavaScript簡(jiǎn)明教程之瀏覽器,前端程序猿必看

    摘要:瀏覽器對(duì)象可以獲取瀏覽器提供的很多對(duì)象,并進(jìn)行操作。對(duì)象不但充當(dāng)全局作用域,而且表示瀏覽器窗口。對(duì)象表示當(dāng)前頁(yè)面的信息。由于在瀏覽器中以形式表示為樹(shù)形結(jié)構(gòu),對(duì)象就是整個(gè)樹(shù)的根節(jié)點(diǎn)。這個(gè)行為由瀏覽器實(shí)現(xiàn),主流瀏覽器均支持選項(xiàng),從開(kāi)始支持。 由于JavaScript的出現(xiàn)就是為了能在瀏覽器中運(yùn)行,所以,瀏覽器自然是JavaScript開(kāi)發(fā)者必須要關(guān)注的?!緦?xiě)的比較多,難免有疏漏的地方,希望...

    explorer_ddf 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<