Modernizr 如何使用Modernizer加载有价值的遗产
我需要做一个项目,需要传统的支持。 我将如何将it与Modernizer集成,以便仅在必要时加载legacy?Modernizr 如何使用Modernizer加载有价值的遗产,modernizr,legacy,ractivejs,Modernizr,Legacy,Ractivejs,我需要做一个项目,需要传统的支持。 我将如何将it与Modernizer集成,以便仅在必要时加载legacy? 这是可能的吗?旧版本包含IE8中不包含的一些位和块的多填充-Ractive在首次加载时自行进行检查,如果检测到缺少的功能(并且是非旧版本),则会抛出错误。检测代码是-因此您可以将其复制到您的应用程序中: function useRactiveLegacy () { return ( typeof Date.now !== FUNCTION |
这是可能的吗?旧版本包含IE8中不包含的一些位和块的多填充-Ractive在首次加载时自行进行检查,如果检测到缺少的功能(并且是非旧版本),则会抛出错误。检测代码是-因此您可以将其复制到您的应用程序中:
function useRactiveLegacy () {
return (
typeof Date.now !== FUNCTION ||
typeof String.prototype.trim !== FUNCTION ||
typeof Object.keys !== FUNCTION ||
typeof Array.prototype.indexOf !== FUNCTION ||
typeof Array.prototype.forEach !== FUNCTION ||
typeof Array.prototype.map !== FUNCTION ||
typeof Array.prototype.filter !== FUNCTION ||
( typeof window !== 'undefined' && typeof window.addEventListener !== FUNCTION )
);
}
// using Modernizr
Modernizr.load({
test: !useRactiveLegacy(),
yep: 'ractive.js',
nope: 'ractive-legacy.js
});
// using AMD
require([ useRactiveLegacy() ? 'ractive-legacy' : 'ractive' ], function ( Ractive ) {
/* code goes here */
});
请记住这些检查可能会随着Ractive的未来版本而改变-例如,可能会有一天,我们决定将承诺降级为传统版本,而不是自动填充