我想检查用户浏览器是否支持“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)中有效吗?而且还需要一个更好的方法!
答案 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
}
以下链接包含所有内容。