问题标签 [browser-feature-detection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 检查浏览器是否支持`.textContent`的最佳方法?
我想检查浏览器是否支持.textContent
我想过这些选择:
if( document.body.textContent ) { }
if( document.createElement('div').textContent !== void(0) ) { }
当然,第一个更简单,但我看到的问题是浏览器可能会计算所有字符串,如果网站很大,这可能会很慢。
那么,我应该选择哪一个呢?还是有更好的选择?
编辑:我创建了一个jsperf
javascript - 功能检测对 DOMContentLoaded 事件的支持
是否可以检测到对DOMContentLoaded
事件的支持?
方法就像 Kangax 的解决方案在这里不起作用,因为DOMContentLoaded
没有作为任何元素的属性公开:Detecting event support without browser sniffing
jquery - 如何检查自定义(伪)选择器是否已添加到 jQuery
我从CSSTricks.com 上这篇文章的评论中获取了以下片段。
本质上,它提供了一个伪选择器:containsNC
,它的工作原理与此类似:contains
,但不区分大小写。
我希望能够检测此选择器是否可用,以便有条件地:contains
用作后备。
如何检查这种自定义选择器的存在?
或者,是否有更好的方法在较新的 jQuery 中进行不区分大小写的匹配?
作为参考,这是我目前使用的方式:contains
(过滤 Facebook 好友列表)
internet-explorer-10 - JS 功能检测对嵌套元素的保留 3d 属性支持
任何人都知道这是否可能,如果可以,我如何检测是否完全支持 preserve-3d 属性?
我的意思是嵌套元素相对于它的 3D 定位父元素的 3D 定位,所有这些都使用 CSS3 转换。
我问的原因是IE10,它对preserve-3d 的支持非常有限。它不考虑嵌套元素(它们像父元素一样相对于视口定位),并且它还存在根据 Z 轴分层元素的问题(如果 Z 元素位于 DOM 下方,则较远的 Z 元素与较近的元素重叠)。
到目前为止,决定是使用浏览器引擎检测,但如果我能很好地选择属性本身,那就更好了!
谢谢!
firefox - 在 Firefox 中检测对没有 navigator.userAgent 的 Shoutcast ICY MP3 的支持?
Mozilla Firefox 的当前版本是 23.0.1,此版本不支持从不同于 80 的 TCP 端口播放 MP3 广播流(最常见的是 Shoutcast 1.9.8 的 8000)。
当 HTML5 音频不支持 MP3 时,我使用 Flash,检测方法是:
Firefox中对 Mp3 广播流的支持将在版本 24 中添加。
a.canPlayType("audio/mpeg; codecs=mp3") = 可能在 Chrome 和 Firefox 中,Chrome 确实支持,firefox 不支持,因此当前的代码检测不适用于 Firefox。
当前支持 IE 6 的 jQuery 版本是 1.10.2,这个版本没有 .browser
我认为“风格化”的方式是测试功能而不是查询浏览器/版本,尽管在这里我很难不违反这个“原则”。
在 Firefox 中没有 navigator.userAgent 检测 MP3 ICY 支持的“风格化”方法是什么?
css - 使用 Modernizr 测试浏览器对 css calc() 的支持
如何使用 Modernizr 测试浏览器是否支持 CSS3 calc() 属性?
我努力了:
但这只会在控制台中返回“未定义”。
(我正在使用modernizr-2.6.2.js)。
使用 Modernizr 进行浏览器功能检测的正确方法是什么?
javascript - detect if browser will fire javascript while scrolling
Some mobile browsers freeze javascript while scrolling, and therefore I won't receive scroll events until the user stops scrolling. Is there a way to detect this 'feature' so as to allow for it in a smart way? Or is the only solution to check the user agent?
javascript - 检测 Windows 8 移动版?
我想知道这是否可以检测到 Windows 8 移动版!
既然说 IE10 放弃了条件注释,他们在移动设备中也实现了相同的功能吗?
webgl - 用于 WebGL 应用程序的 Javascript 中的浏览器检测
好的,我想做浏览器检测;我知道每个人都说不要。但这就是原因。我有一个 WebGL 应用程序/页面。检测 WebGL 很容易。但是如果不支持 WebGL,我想向用户提供下一步该做什么的信息。为此,我需要浏览器、平台和版本。所以我明白为什么每个人都说要使用特征检测,但在这种情况下,如果我想给出说明,我必须了解浏览器。
例如,对于 Firefox,我会告诉用户更改 about:config 设置,而对于 Safari,它位于开发人员菜单上(如果没有记错的话)。
如果有更好的方法,我会全力以赴。如果没有,是否有一个像样的浏览器检测库,可以持续维护并处理所有边缘情况或浏览器报告方式的不一致。
javascript - 如何“检测性能”浏览器
一些移动浏览器和 IE8 javascript 不仅慢了一点,它还慢了 10 倍!有很多东西通过了特征检测测试(js css 操作等),但是速度太慢了,会降低用户体验。
Modernizr 会告诉我某个功能存在,但它不会告诉我它是否低于某个性能阈值。
检测 IE8 对 IE8 用户有效,但不适用于运行旧版本 FF、Safari、移动 Opera 等的慢速移动设备、平板电脑和计算机。
在不惩罚现代浏览器用户的情况下,有哪些有效的方法可以缓和或禁用慢速功能?
比时间戳代码执行块更好的方法吗?