2

formtargetブラウザがまたはform属性をサポートしているかどうかを確認するにはどうすればよいですか?

ここでは Modernizr は役に立たずform、ブラウザーでの現在のサポート状況について Web 上で何かを見つけることさえできませんでした。簡単なテストでは、IE 9 を除く現在のすべてのブラウザーがそれらをサポートしていることが明らかになりました。

では、ブラウザがform*属性を処理しているかどうかを確認するにはどうすればよいでしょうか?

4

4 に答える 4

2

入力時の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;
}
于 2012-10-17T15:37:44.350 に答える
2

どうぞ:

if("formtarget" in document.createElement("input")){
    //good job, browser
}else{
    //nope
}
于 2012-06-24T15:01:33.950 に答える
1

このサイトをご覧ください。それはすべての新しいフォーム機能をカバーし、属性のサポートをテストするための便利な小さな機能を提供します

// Function to test for attribute support
function elSupportsAttr(el, attr) {
  return attr in document.createElement(el);
}
于 2012-06-24T14:39:11.663 に答える
0

試す

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

Javascriptを使用して、HTML属性が存在するかどうかを確認するにはどうすればよいですか

于 2012-06-24T14:38:34.900 に答える