因此,Internet Explorer < = 8不接受CSS display
屬性(等等)的標準table-row
和table-row-group
值。我不願意使用JQuery的browser detection features,因爲這些已被棄用。我如何檢測table-row-group
支持jQuery 沒有解析瀏覽器/用戶代理字符串?也就是說,如何檢測功能的存在而不是特定瀏覽器的存在?JQuery - 檢測CSS'display:table-row-group'的支持'
回答
我不相信用Javascript你可以直接檢測到對CSS屬性的支持。我有兩個建議,如果這是真的:
插入到一個隱藏的div兩個元素,一個具有
table-row
,一個沒有。看看是否有高度或寬度差異。如果是這樣,計算高度或寬度,找出了支持它的瀏覽器和不支持的瀏覽器之間的差異。即使jQuery的瀏覽器檢測已被棄用,你可以在本地主機下面的腳本:
http://www.tvidesign.co.uk/blog/CSS-Browser-detection-using-jQuery-instead-of-hacks.aspx
我用它,我喜歡它!它向body標籤添加了兩個類(例如「.browserIE7和.browserIE」),以便您可以使用Javascript(if $('body').hasClass('browserIE7')...
)或CSS(.browserIE7.div {...
)
祝您好運!
編輯
也許可以使用JavaScript ...第三名選項:http://perfectionkills.com/feature-testing-css-properties/雖然我沒有閱讀文章或使用了他的建議。
如果CSS屬性檢測不工作了,我建議使用IE條件語句是這樣的:
<!--[if lte IE 7]>
<script type="text/javascript">
var ie7 = true;
</script>
<![endif]-->
<!--[if lte IE 6]>
<script type="text/javascript">
var ie6 = true;
</script>
<![endif]-->
或者類似的規定......這就是,如果你想要讓你的腳本,以確定哪些瀏覽器您正在使用並且不想分析用戶代理字符串。
如果您只是想將CSS引導到特定的瀏覽器,那麼顯然只需在條件中添加一個指向IE樣式表的鏈接即可。我絕不會建議基於JS瀏覽器檢測發送不同的CSS,因爲並非所有用戶都會啓用JS。
您可能會覺得Modernizr很有用。它測試各種CSS屬性,並根據這些測試,爲<html>
標記添加類。此外,它還增加了與用戶代理和相關內容相關的類。
您可以在其網站上了解更多有關Modernizr的信息:http://www.modernizr.com/
- 1. 檢測設備是否支持jQuery Mobile
- 2. 如何使用Jquery支持檢測Firefox?
- 3. 爲jQuery Mobile支持檢測瀏覽器
- 4. Web - 檢測手勢支持
- 5. 檢測鼠標支持
- 6. iOS檢測IPv6支持
- 7. 檢測Android語言支持
- 8. Android人臉檢測支持
- 9. 檢測支持通知
- 10. 如何檢測`focusin`支持?
- 11. Css屬性支持檢測
- 12. 檢測是否支持SSL
- 13. 檢測SSL SNI支持
- 14. 檢測瀏覽器對SVGFragmentIdentifier的支持
- 15. 使用modernizr檢測css轉換支持
- 16. 如何檢測rel =「noreferrer」支持?
- 17. 功能檢測支持DOM範圍(Modernizr)
- 18. 檢測瀏覽器對RFC5987的支持
- 19. iPad 2的攝像頭,支持檢測
- 20. 檢測Facebook Messenger中的webview支持
- 21. Galaxy Nexus的問題 - 4G支持檢測
- 22. Android中的「多語言支持」檢測
- 23. 檢測支持的最低Java版本
- 24. 使用jQuery檢測瀏覽器的CSS選擇器支持
- 25. WebGL檢測爲支持時,它實際上不支持
- 26. 支持jQuery的
- 27. React Native:檢測是否支持UIVisualEffectView
- 28. 檢測操作者支持與decltype/SFINAE
- 29. 使用JavaScript檢測WOFF支持?
- 30. 檢測瀏覽器與Modernizr支持css3