Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查浏览器对HTML5表单属性的支持?_Javascript_Html - Fatal编程技术网

Javascript 如何检查浏览器对HTML5表单属性的支持?

Javascript 如何检查浏览器对HTML5表单属性的支持?,javascript,html,Javascript,Html,如何检查浏览器是否支持formtarget或form属性 Modernizer在这里没有任何帮助,我甚至无法在web上找到浏览器中当前状态的form支持。尽管快速测试显示除了IE9之外的所有当前浏览器都支持它们 那么如何检查浏览器是否处理表单*属性呢?试试看 if ("attribute" in document.createElement("tag")) 从看一看。 它涵盖了所有新的表单特性,并提供了一个方便的小功能来测试属性的支持 // Function to test for attri

如何检查浏览器是否支持
formtarget
form
属性

Modernizer在这里没有任何帮助,我甚至无法在web上找到浏览器中当前状态的
form
支持。尽管快速测试显示除了IE9之外的所有当前浏览器都支持它们

那么如何检查浏览器是否处理
表单*
属性呢?

试试看

if ("attribute" in document.createElement("tag"))

看一看。 它涵盖了所有新的表单特性,并提供了一个方便的小功能来测试属性的支持

// Function to test for attribute support
function elSupportsAttr(el, attr) {
  return attr in document.createElement(el);
}
给你:

if("formtarget" in document.createElement("input")){
    //good job, browser
}else{
    //nope
}
输入的form属性是一个特例。它在HTML5特性之前用于引用父表单,但现在它也用作属性,因此IE上会出现误报

这里有一个检查函数,但它涉及到与DOM的交互,这可能会影响性能,但无论如何,还是要这样做。希望能有帮助

function testInputFormSupport() {
    var input = document.createElement('input'),
         form = document.createElement('form'),
         formId = 'test-input-form-reference-support';
    // Id of the remote form
    form.id = formId;
    // Add form and input to DOM
    document.body.appendChild(form);
    document.body.appendChild(input);
    // Add reference of form to input
    input.setAttribute('form', formId);
    // Check if reference exists
    var res = !(input.form == null);
    // Remove elements
    document.body.removeChild(form);
    document.body.removeChild(input);
    return res;
}

Wufoo并未涵盖所有新表单功能,至少未提及
form
。但是测试功能是有效的。-1这不起作用
document.createElement(“输入”)中的“表单”
在IE8上返回
true
(有关原因,请参阅@Sev的答案)<代码>文档中的“formaction”。createElement(“输入”)和其他人在任何应支持它的浏览器上返回
false
。-1根据这一点,支持它的浏览器不支持
formtarget
。在Firefox 23上输出'false',而它自Firefox 4以来一直受支持。2010-08-19 22:20:37太平洋时报这是现在在树上。