SAHbKA
SAHbKA

Reputation: 347

Backbone.history.start() in ie8 leads to page reload every 20 seconds

Simple application-pilot with Backbone + requireJs. In ie8 string Backbone.history.start({pushState: true}); leads to page reload every 20 seconds. Without it application doesnt start. What is the problem? Below content of 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
    };
});

Upvotes: 1

Views: 139

Answers (1)

SAHbKA
SAHbKA

Reputation: 347

This is fix for IE8

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

Upvotes: 1

Related Questions