在使用yep/nope/modernizr.load()加載資源之前,我需要檢查兩個項目的支持。如何去做這件事?modernizr.load()中的兩個Modernizr測試?
並通過兩個測試,而不是一個或另一個,但兩者。
一個是我已添加的自定義測試,另一個是現有測試。
在使用yep/nope/modernizr.load()加載資源之前,我需要檢查兩個項目的支持。如何去做這件事?modernizr.load()中的兩個Modernizr測試?
並通過兩個測試,而不是一個或另一個,但兩者。
一個是我已添加的自定義測試,另一個是現有測試。
的Modernizr documentation有你答案:
從文檔兩者...
Modernizr.load是小而簡單,但它可以爲你做相當多的重型起重。當您的腳本依賴多個Modernizr功能測試時,使用Modernizr.load的例子稍微複雜一些。一個好的方法是將多個polyfill腳本合併成一個「oldbrowser」類型的腳本,這樣你就不會一次加載太多的腳本。以下是如何可能的工作:
Modernizr.load([
{
test : Modernizr.fontface && Modernizr.canvas && Modernizr.cssgradients,
nope : ['presentational-polyfill.js', 'presentational.css']
}
]);
所以你看,答案是簡單地把所有你所需要的測試彙集成一個布爾表達式。
我從文檔簡化的例子,事實上,在文檔中給出的例子進入更詳細的,所以不要去閱讀他們以及它可能給你做你的更好的方法之後。
希望有所幫助。
@Spudley答案是偉大的,但也許它更有幫助一些情況下
Modernizr.load([
{
test: Modernizr.input.autofocus || Modernizr.cssanimations,
nope: 'jquery.js'
},
{
test: Modernizr.input.autofocus,
nope: 'autofocus.js'
},
{
test: Modernizr.cssanimations,
nope: 'animations.js'
}
]);
的謝謝,我想我應該更仔細地閱讀文檔。 – IMUXIxD 2013-02-09 17:01:18