Angular js-模拟浏览器后退/前进按钮禁用

时间:2014-12-15 20:33:04

标签: javascript angularjs pushstate

我正在处理应用程序,这需要我模拟浏览器后退/前进按钮(我已经实现了2个按钮)。我可以使用window.history.forward()window.history.back()来实现此功能。功能按预期工作。 但我有一个问题,我要求在没有更多页面进一步浏览时禁用前进按钮,反之亦然。后退按钮。

我尝试过使用以下解决方法,但没有任何效果。

if(!window.history.next){
    $scope.abcService.enableForwardButton = false;
}

这个if条件永远不会得到满足,即使我没有任何页面可以进一步浏览。

var index = window.history.length;
if(window.history[index] != window.location)
{
    $scope.abcService.enableForwardButton = true;
}

任何输入都会有所帮助。 注意:禁用按钮是应用程序的强制要求

2 个答案:

答案 0 :(得分:0)

$ location服务可能对您有用。 https://docs.angularjs.org/api/ng/service/ $位置#状态

另外,我不确定它与角度有多兼容,但您可能需要查看https://github.com/browserstate/history.js/

答案 1 :(得分:-1)

我相信这对你有用。

if(typeof window.history.forward!=='function'){
  $scope.abcService.enableForwardButton = false;
}

当你可以向前导航然后输入window.history.forward是'function',当你不能那么'undefined'时