使用Requirejs压缩时,jQuery文件上载在IE9中不起作用

时间:2013-07-08 18:02:49

标签: backbone.js requirejs jquery-file-upload

我的代码使用Backbone with Requirejs和jQuery File Upload,当我直接访问开发代码时(无需构建),它在IE 9中完美运行。一旦我构建它就会出错,并且请求被空送到服务器。

我在请求中看到的唯一区别(使用IE9中的网络捕获)是我在单击上传按钮时工作的那个,启动器是click,而对于失败的启动器,启动器是JS Library XMLHttpRequest

因此,当代码被压缩时,必须有一些东西使事件发生变化,但我不知道如何更接近问题的根源。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您需要iFrame Transport plugin吗?

我正在使用带有Requirejs的jQuery文件上传,并且没有看到这个问题。在没有看到某些代码的情况下,很难说是什么惹恼了您的应用程序。我建议您使用一些相关代码更新您的问题。与此同时,这里有什么对我有用。

<强> main.js

require.config({
    appDir: '../',
    baseUrl: 'js/',
    paths: {
        underscore: '../vendor/lodash.underscore',
        backbone: '../vendor/backbone',
        'jquery.fileupload': '../vendor/jquery-file-upload/js/jquery.fileupload',
        'jquery.iframe-transport': '../vendor/jquery-file-upload/js/jquery.iframe-transport',
        'jquery.ui.widget': '../vendor/jquery-file-upload/js/jquery.ui.widget'
    },
    shim: {
        underscore: {
            exports: '_'
        },
        backbone: {
            deps: ['underscore', 'jquery'],
            exports: 'Backbone'
        }
    }
});

在包含上传控件的页面中:

<强> UploadPage.js

define([
    'views/Base',
    'jquery.iframe-transport',
    'jquery.fileupload'
], function(BaseView) {
    return BaseView.extend({
        // Do cool stuff
    });
});