Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Modernizr 如何使用Modernizer加载有价值的遗产_Modernizr_Legacy_Ractivejs - Fatal编程技术网

Modernizr 如何使用Modernizer加载有价值的遗产

Modernizr 如何使用Modernizer加载有价值的遗产,modernizr,legacy,ractivejs,Modernizr,Legacy,Ractivejs,我需要做一个项目,需要传统的支持。 我将如何将it与Modernizer集成,以便仅在必要时加载legacy? 这是可能的吗?旧版本包含IE8中不包含的一些位和块的多填充-Ractive在首次加载时自行进行检查,如果检测到缺少的功能(并且是非旧版本),则会抛出错误。检测代码是-因此您可以将其复制到您的应用程序中: function useRactiveLegacy () { return ( typeof Date.now !== FUNCTION |

我需要做一个项目,需要传统的支持。 我将如何将it与Modernizer集成,以便仅在必要时加载legacy?
这是可能的吗?

旧版本包含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的未来版本而改变-例如,可能会有一天,我们决定将承诺降级为传统版本,而不是自动填充