【问题标题】:fallback.io doesnt work with scriptsfallback.io 不适用于脚本
【发布时间】:2017-01-21 00:44:13
【问题描述】:

我想使用 fallback.io 的 fallback.js,所以我使用了 github 的文档。问题是它只适用于 css 和字体文件,但不适用于我的所有 js 脚本。

<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>

我做错了什么? 您使用哪种后备方案?

【问题讨论】:

    标签: javascript jquery twitter-bootstrap cdn fallback


    【解决方案1】:

    根据fallback.io docsfallback.load 列表中的键必须是您正在加载的 javascript 库公开的某个变量名。

    fallback.load({libraries}, {options})

    期望是一个包含键值对的对象,其中键是 库的 window 变量,值是要获取的 url 图书馆从。键必须是库的窗口变量名 如果它是一个 JavaScript 库,你正在加载。这仅适用于 JavaScript 库而不是 StyleSheets,对于 StyleSheets,您可以命名 他们随你喜欢。例如 jQuery 的键是 jQuery 因为 window.jQuery 在 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'
                ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2021-10-27
      • 2012-08-04
      • 2014-08-11
      相关资源
      最近更新 更多