-1
我需要在需要傳統支持的項目上工作。 我會如何將其與modernizr集成以在必要時僅加載遺留問題? 這甚至可能嗎?如何使用modernizr加載ractive傳統
我需要在需要傳統支持的項目上工作。 我會如何將其與modernizr集成以在必要時僅加載遺留問題? 這甚至可能嗎?如何使用modernizr加載ractive傳統
遺留構建包含一些不在IE8中的零碎塊的填充 - Ractive在第一次加載時會執行自己的檢查,如果檢測到缺少的功能則會引發錯誤(並且它是非遺留構建) 。檢測代碼here - 所以你也可以複製到你的應用程序:
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的未來版本 - 例如,有可能來的我們決定將承諾放棄到舊版本,而不是自動填充它。