ie8中的Backbone.history.start()导致页面每20秒重新加载一次

时间:2013-12-13 14:33:12

标签: backbone.js internet-explorer-8 requirejs

Backbone + requireJs的简单应用程序试用。 在ie8字符串中Backbone.history.start({pushState: true});每20秒导致页面重新加载。没有它应用程序不会启动。问题是什么? 在router.js的内容下面:

define(
[
    'jquery', 'underscore',
    'backbone'
],
function ($, _, Backbone) {
    var MainRouter = Backbone.Router.extend({
        initialize: function () {
            var re = new RegExp("(\/)+$", "g");
            this.route(/(.*)\/+$/, "trailFix", function (id) {
                // remove all trailing slashes if more than one
                id = id.replace(re, '');
                this.navigate(id, true);
            });
        },
        routes: {
            'home': 'showMainPage'
        },
        showMainPage: function (param) {
            require([  'views/global/main'], function (MainView) {
                $(".navigation_item[data-type=home]").addClass("selected").on('click',   function () {
                    return false;
                })
                $(".p_map, .p_feed").show();

                new MainView();

            });
        }
    });
    var initialize = function () {
        window.mainRouter = new MainRouter();
        Backbone.history.start({pushState: true});

    };
    return {
        initialize: initialize
    };
});

1 个答案:

答案 0 :(得分:1)

这是针对IE8的修复

Backbone.history.loadUrl(window.location.pathname);