require.js 'Backbone' 仅是未定义的 IE



网站在所有浏览器中都能完美运行,但IE除外:SCRIPT5009:"骨干"未定义

这是main.js这是几个小时的劳动,似乎符合所有API要求?

requirejs.config({
    paths: {
    //  "jquery" : "jquery-1.7.2.min",
        "jquery.json" : "jquery.json-2.3.min",
        "jquery.jtemplates" : "jquery-jtemplates",
        "jquery.nailthumb" : "jquery.nailthumb.1.1.min",
        "jquery.ui" : "jquery-ui-1.8.21.custom.min",
        "jquery.fileupload" : "jquery-fileupload/jquery.fileupload",
        "jquery.iframe-transport" : "jquery-fileupload/jquery.iframe-transport",
        "jquery.ui.widget" : "jquery-fileupload/vendor/jquery.ui.widget",
        "jquery.fancybox" : "jquery.fancybox",
        "handlebars" : "handlebars",
        "input" : "input",
        "validator" : "cars/modules/carsValidator",
        "backbone" : "backbone",
        "underscore": "underscore"
    },
    shim: {
        'jquery.jtemplates': {
            deps: ['jquery']
        },
            //exports: "jQuery.fn.setTemplate"
        //},
        'jquery.json': {
            deps: ['jquery'],
            exports: "JSON"
        },
        'jquery.nailthumb':{
            deps: ['jquery']
        },
        'jquery.iframe-transport':{
            deps: ['jquery']
        },
       'jquery.fancybox':{
            deps: ['jquery']
        },
        'input': {
            deps: ['jquery']
        },
        'backbone': {
            deps: ['jquery', 'underscore'],
            exports: "Backbone"
        },
        'underscore' :{
            exports: '_'
        }
    } 
});
requirejs(["jquery"], function($) {
    window.$ = $;
    if (typeof console == "undefined") {
        this.console = {log: function() {}};
    }
    //this will invoke the script for the page
    if (module){
        require([module], function(module){});
    }

});

和我的定义调用:

define(["jquery", "backbone"], function ($, backbone) {
    return backbone.Model.extend({
        update: function (message) {
            return this.type(message.type).message(message.message);
        },
        type: function (type) {
            if (type) {
                this.set({type: type});
                return this;
            }
            return this.get("type");
        },
        message: function (message) {
            if (message) {
                this.set({message: message});
                return this;
            }
            return this.get("message");
        }
    });
});

任何帮助都会很棒...谢谢

我知道

这不是您期望的解决方案,但是我在IE10上遇到了相同的错误。问题是在较旧的IE版本(ie9,8,7,6)中它工作正常,所以我决定使用官方的MS"hack" - X-UA-Compatible。

只需将以下行添加到 html 的<head>部分:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

希望对您有所帮助!

最新更新