Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer IE 7标准模式下的internet explorer在刷新时调用主干网中的路由器两次_Internet Explorer_Backbone.js - Fatal编程技术网

Internet explorer IE 7标准模式下的internet explorer在刷新时调用主干网中的路由器两次

Internet explorer IE 7标准模式下的internet explorer在刷新时调用主干网中的路由器两次,internet-explorer,backbone.js,Internet Explorer,Backbone.js,这很容易用下面的代码重现 问题是,当导航到带有哈希(例如任何哈希)的URL并刷新时,Internet Explorer会调用“捕获所有路由*URL”类别(和警报),但随后会继续删除哈希并再次调用路由 该页面可与Webkit、Firefox、Opera等配合使用,刷新时仅触发一个警报。测试是在当地进行的。使用的所有库都是最新版本 注意:在IE8和IE9中,由于使用html5 doctype,渲染引擎将默认为IE7标准模式-在IE8和IE9标准模式中,这将按预期工作 <html><

这很容易用下面的代码重现

问题是,当导航到带有哈希(例如任何哈希)的URL并刷新时,Internet Explorer会调用“捕获所有路由*URL”类别(和警报),但随后会继续删除哈希并再次调用路由

该页面可与Webkit、Firefox、Opera等配合使用,刷新时仅触发一个警报。测试是在当地进行的。使用的所有库都是最新版本

注意:在IE8和IE9中,由于使用html5 doctype,渲染引擎将默认为IE7标准模式-在IE8和IE9标准模式中,这将按预期工作

<html><head>
<script type="text/javascript" src="{{ STATIC_URL }}js/jquery171.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}js/underscore131.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}js/backbone091.js"></script>
<script>

App = {
    start: function(){
        new App.CatalogRouter();
    }
}

App.CatalogRouter = Backbone.Router.extend({
    routes: {
        'checkout/' : 'checkout',
        '*url' : 'category'
    },

    category : function(url){
        alert('should only trigger once');
    },

    checkout: function(){

    }
})

$(function(){
    App.start();
    Backbone.history.start();
});
</script>
</head>
<body></body>
</html>

应用={
开始:函数(){
新的App.CatalogRouter();
}
}
App.CatalogRouter=Backbone.Router.extend({
路线:{
“checkout/”:“checkout”,
“*url”:“类别”
},
类别:函数(url){
警报(“应仅触发一次”);
},
签出:函数(){
}
})
$(函数(){
App.start();
Backbone.history.start();
});

这是Backbonejs中的一个bug,从那以后一直是。

您是否也使用Backbone0.9.1进行了测试?更适合报告问题的地方是主干github,而不是StackOverflow。()是的,这是在0.9.1上测试的,我现在在github上报告这个问题