使用JavaScript检查浏览器是否支持css3和/或HTML5属性

时间:2013-02-16 17:45:20

标签: javascript jquery css html5 css3

我想检查用户浏览器是否支持“contenteditable”或任何HTML5属性

所以这是我的JavaScript:

var isEditable=false;
function chk() {
    var z=document.getElementById("mydivid");

    if(typeof(z["isContentEditable"])==="boolean") {
        isEditable=true;
    }
}

function doEdit() {
    chk();
    var z=document.getElementById("mydivid");
    if(isEditable) {
        z.setAttribute("contenteditable","true");
        z.focus();
    } else {
        /* add a texbox and put all div's innerHTML into it, All in all:  a Boring Stuff. */
    }
}

这是HTML:

<a href="#" onclick="doEdit();">Click To Edit </a>
<div id="mydivid"> Hi Ssup ?? <img src='' alt="some image" /></div>

有谁能告诉我我的方法是否正确?它会在IE(版本&lt; 8.0)中有效吗?而且还需要一个更好的方法!

2 个答案:

答案 0 :(得分:7)

简单检查:

if ('isContentEditable' in document.createElement('span')) {
    // supported
}

我还将分享这些精选的片段,它将在未来为您提供帮助:http://diveintohtml5.info/everything.html

答案 1 :(得分:2)

检查元素是否存在任何属性。你可以这样做

var element = document.createElement('__ELEMENT__');
if ('__PROPERTY__' in element ) {
    // property supported in the browser
}

if ('__PROPERTY__' in document.createElement('__ELEMENT__') ) {
    // property supported in the browser
}

以下链接包含所有内容。

  1. https://github.com/Modernizr/Modernizr/issues/570
  2. http://diveintohtml5.info/everything.html#contenteditable