在我的網絡應用程序中,我使用透明模糊濾鏡來覆蓋視頻頂部。除IE10/11以外的所有瀏覽器均可使用。由於模糊過濾器是一個CSS屬性,因此我無法真正進行正確的特徵檢測,因爲我應該這樣做。相反,我用這:通過查找「Trident」字符串來檢測IE
if(navigator.userAgent.indexOf("Trident")>-1) { // IE ... }
如果檢測到IE瀏覽器,我使用的是不同的過濾器(非模糊)的作品出現。
有沒有這種代碼可能導致誤報的情況?是否有任何使用Trident引擎的模糊兼容瀏覽器?
編輯:我知道,IE8和IE9有自己的模糊濾鏡,但一致的緣故,我們決定使用相同的替代性過濾器爲IE瀏覽器的所有版本。
我相信你可以使用http://modernizr.com/檢查CSS濾鏡支持 –
我同意與尤里的原則,即Modernizr的(或測試的該功能的方法)更有意義,然後對UA檢查。然而,加載modernizr,只是爲了測試模糊過濾器可能是矯枉過正的(特別是如果你沒有在你當前的項目中使用它)。你有沒有考慮過這樣的測試:if(document.documentElement.style.msFilter)...(msFilter,webkitFilter等)//做些什麼 – Jack
感謝評論,Jack!因此,根據您的回答,可以使用Javascript檢測當前瀏覽器中是否可以使用特定樣式?請詳細說明如果是這樣,我肯定會更喜歡使用功能檢測而不是瀏覽器大檢測。 編輯:不,我沒有使用modernizr。模糊是我試圖跟蹤的唯一依賴於瀏覽器的功能,所以是的,加載它會太多。 –