Kendo UI app.navigate(“#:back”);并不总是导航回来

时间:2015-01-19 14:53:02

标签: javascript kendo-ui

有时,并非总是

app.navigate("#:back");

不会使浏览器在历史记录中向后导航,kendo.history数组将保持不变。

为什么?

我如何检查数组的内容:

var num = kendo.history.locations.length;
for (var i = num - 1; i >= 0; i--)
  console.log(kendo.history.locations[i]);

经过测试的kendoui版本:2013.3.1424

1 个答案:

答案 0 :(得分:1)

我在Android上自定义backbutton就像这样

document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown(e) {
    e.preventDefault();
    if (kendo.history.locations.length){
        if (kendo.history.locations[kendo.history.locations.length - 2] != ""){
            app.navigate("#"+kendo.history.locations[kendo.history.locations.length - 2]);
        }
    }
}

或者你可以使用像这样的自定义类

$(document).on('touchstart', '.custom-back', function(e){        
    if (kendo.history.locations.length){
        if (kendo.history.locations[kendo.history.locations.length - 2] != ""){
            app.navigate("#"+kendo.history.locations[kendo.history.locations.length - 2]);
        }
    }
});