html - 使用 v3 进行 Modernizr 特征检测

标签 html css modernizr

我想问一下使用以下两种方法检测是否有任何显着差异/性能问题:

假设我们正在测试 3d 变换。

使用 Modernizr 3 提供的新功能:

Modernizr.on('csstransforms3d', function(result) {
  if (result) {
    element.className = 'myFirstClass';
  }
  else {
    element.className = 'mySecondClass';
  }
});

用标准的方式:

if (Modernizr.csstransforms3d) {
  element.className = 'myFirstClass';
} else {
  element.className = 'mySecondClass'
}

最佳答案

Modernizr.on 函数仅(或主要)用于异步检测延迟操作。查看full explanation and example由@stucox 提供更多详细信息。

csstransforms3d 不是异步的,可以立即使用。没有理由为其使用 on 事件回调 方法。该函数使用 setTimeout() 调用时效率相当低,这对性能不利。

仅对异步检测上的延迟事件使用on

关于html - 使用 v3 进行 Modernizr 特征检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28129096/

相关文章:

html - 当行添加到 flex 盒子时,盒子的高度增加

html - flex 盒子内的元素不符合要求的大小

css - 无法让 div 一直向右浮动

python - 多字 linux cmd 不能与子进程模块一起工作

具有单行和多行元素的 CSS 行高

html - emty inline-block div 之后的元素在顶部有奇怪的填充

javascript - jQuery 元素在屏幕上的可见性

javascript - 如何为响应式设计禁用 javascript

jquery - 为什么我需要这个变量声明来使我的代码工作?

javascript - 警报声明不起作用