如何檢查瀏覽器是否支持formtarget
或form
屬性?如何檢查瀏覽器對HTML5表單屬性的支持?
Modernizr在這裏沒有幫助,我甚至在瀏覽器中找不到form
支持的當前狀態。儘管快速測試顯示除IE 9以外的所有當前瀏覽器都支持它們。
那麼如何檢查瀏覽器是否處理了form*
屬性?
如何檢查瀏覽器是否支持formtarget
或form
屬性?如何檢查瀏覽器對HTML5表單屬性的支持?
Modernizr在這裏沒有幫助,我甚至在瀏覽器中找不到form
支持的當前狀態。儘管快速測試顯示除IE 9以外的所有當前瀏覽器都支持它們。
那麼如何檢查瀏覽器是否處理了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;
}
嘗試
if ("attribute" in document.createElement("tag"))
從How can I tell of a HTML attribute exists or not, using Javascript
看一看this site。 它涵蓋了所有新的形式特點,並給出了方便的小功能,測試屬性的支持
// Function to test for attribute support
function elSupportsAttr(el, attr) {
return attr in document.createElement(el);
}
Wufoo不包括*全部*新的表單功能,至少'form'沒有被提及。但測試功能起作用。 –
-1這不起作用。 document.createElement中的「form」(「input」)在IE8上返回true(請參閱@ Sev的答案)。 document.createElement(「input」)中的''formaction''和其他的在所有支持它的瀏覽器上返回'false'。 – Stijn
在這裏你去:
if("formtarget" in document.createElement("input")){
//good job, browser
}else{
//nope
}
-1不適用於這些屬性。 – Stijn