3

我一直在使用以下代码:

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 边框半径属性?

4

1 回答 1

4

简单地测试元素属性中是否存在borderRadius属性(使用 CSS 属性的 JavaScript 命名约定) ,例如使用条件style

'borderRadius' in document.body.style

这是@Ohgodwhy 答案中代码的简化版本。

请注意,这将对属性执行请求的精确检查border-radius。@thecodeparadox 的答案以及其他地方类似问题的其他答案,也测试供应商前缀名称,这可能是也可能不是您想要的(取决于您的代码是否也使用它们)。

这仅测试浏览器是否识别该属性。实施可能仍然被破坏或不完整。

于 2012-09-09T04:44:52.993 回答