编程语言
首页 > 编程语言> > javascript-如何在不使用modernizr的情况下用边界半径的特征检测检查替换旧的浏览器检查?

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