2015-03-18 82 views
4

我想使用fallback.io中的fallback.js,因此我使用了github中的文档。问题在于它只能用于CSS和字体文件,但它不适用于我所有的js脚本。fallback.io不支持脚本

<script src="media/js/fallback.min.js"></script> 
<script> 
    fallback.load({ 

     'jquery-2.1.3.js': [ 
      '//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js', 
      'media/js/jquery-2.1.3.js' 
     ], 

     'bootstrap.min.js': [ 
      '//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js', 
      'media/js/jquery-2.1.3.js' 
     ], 

     'smoothscroll.js': 'media/js/smoothscroll.js', 

      'bootstrap.min.css': [ 
       '//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css', 
       'media/css/bootstrap.min.css' 
      ], 

      'bootstrap-theme.min.css': [ 
       '//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css', 
       'media/css/bootstrap-theme.min.css' 
      ], 

      'media.css': [ 
       'media/css/media.css' 
      ], 

      'Montesserat-Regular.ttf': [ 
       '//fonts.googleapis.com/css?family=Montserrat', 
       'media/fonts/Montserrat-Regular.ttf' 
      ] 
    }, 
    { 
     // Shim jQuery UI so that it will only load after jQuery has completed! 
     //'jQuery.ui': ['jQuery'] 
     shim: { 
      'bootstrap.min.js': ['jquery-2.1.3.js'], 
      'media.css': ['bootstrap.min.css'], 
     }, 

     //callback: function(failed) { 
      // success - object containing all libraries that loaded successfully. 
      // failed - object containing all libraries that failed to load. 
      // All of my libraries have finished loading! 
      // Execute my code that applies to all of my libraries here! 
     //} 
    }); 

    //fallback.ready(['jquery-2.1.3.js'], function() { 
     // jQuery Finished Loading 
     // Execute my jQuery dependent code here! }); 

    //fallback.ready(['jQuery', 'JSON'], function() { 
     // jQuery and JSON Finished Loading 

     // Execute my jQuery + JSON dependent code here! }); 

    fallback.ready(['jquery-2.1.3.js', 'bootstrap.min.js'], function() { 
     // All of my libraries have finished loading! 
     $('.carousel').carousel({ 
      interval: 1000, 
      pause: hover, 
      wrap: true, 
      keyboard: true 
     }) 
     // Execute my code that applies to all of my libraries here! 
    }); 
</script> 
</head> 

我做错了什么? 你使用哪种回退?

回答

1

根据fallback.io docs,您的fallback.load列表中的键必须是由您加载的JavaScript库公开的某个变量名称。

fallback.load({库},{选项})

希望是含有键值对,其中关键是 库的窗口变量的对象,并且该值是抓取的URL来自 的库。如果它是JavaScript库,则这些键必须是要加载的库 的窗口变量名称。这只适用于 JavaScript库,而不是StyleSheets,对于StyleSheets,您可以将它们命名为 。例如,jQuery的关键将是jQuery ,因为在jQuery加载完成后,window.jQuery存在。这是 需要为传统浏览器提供支持。的

所以与其做

'jquery-2.1.3.js': [ 
       '//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js', 
       'media/js/jquery-2.1.3.js' 
      ], 

你应该使用

'jQuery': [ 
       '//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js', 
       'media/js/jquery-2.1.3.js' 
      ],