javascript-如何在不使用modernizr的情况下用边界半径的特征检测检查替换旧的浏览器检查?
作者:互联网
我一直在使用以下代码:
if (
($.browser.msie && parseFloat($.browser.version) < 7) || // IE 6 and lower
($.browser.mozilla && parseFloat($.browser.version) < 1.9) || // Firefox 2 and lower
($.browser.opera && parseFloat($.browser.version) < 9) || // Opera 8 and lower
($.browser.webkit && parseInt($.browser.version) < 400) // Older Chrome and Safari
) {
// document.location.href = 'old-browsers.html?redirect=' + escape(document.location.href);
}
但这似乎不适用于Chrome.现在,我想使用特征检测将其替换为一些代码.我当时在看modernizr,但这似乎只是向我的html添加一个类,并且即使为此检查也创建了很多javascript.
有没有一种简单的方法可以检查我的浏览器是否支持CSS HTML5 border-radius属性?
解决方法:
只需测试元素的样式属性中是否存在borderRadius属性(使用CSS属性的JavaScript命名约定),例如条件
'borderRadius' in document.body.style
这是@Ohgodwhy答案中代码的简化版本.
请注意,这将对属性border-radius执行所要求的确切检查. @thecodeparadox的答案以及其他类似问题的其他答案,也要测试供应商前缀的名称,这可能是您想要的,也可能不是您想要的(取决于代码是否也使用它们).
这仅测试浏览器是否可以识别该属性.该实现可能仍然被破坏或不完整.
标签:modernizr,html5,css,javascript,jquery 来源: https://codeday.me/bug/20191031/1979365.html