1

我制作了一个在两个页面之间切换的 jquery 移动应用程序。在 pagebeforeshow 事件中,我用来自 JSON 对象的数据填充了一些 dom 元素。当用户点击后退按钮时,我会从历史堆栈中获取特定页面的数据 ID(我将其放在第一个 onPageBeforeShow 事件中)。

onPageBeforeShow: function() {

        // if fact id already exists in history stack take it from there (only happens when "back" is pressed)
        var urlh = $.mobile.urlHistory;
        if( "factId" in urlh.stack[urlh.activeIndex] ) {

            // load 
            cp10.score.currentFactId = urlh.stack[urlh.activeIndex].factId;

        } else {

            // store fact id in history object
            urlh.stack[urlh.activeIndex].factId = cp10.score.currentFactId;
        } 

        ... go on and fill dom elements with current id

这适用于后退按钮。当我再次向前冲时,$e.mobile.history.activeIndex 元素出现了一个有趣的行为。例如,我在应用程序中前进了三个页面,因此 activeIndex 为 3。然后使用浏览器的后退按钮我去...

... back:activeIndex 为 2 back:activeIndex 为 1 back:activeIndex 为 0 forward:activeIndex 为 1 forward:activeIndex 为 0

那应该是2,我想。我很困惑。

浏览器前进按钮按下导致activeIndex减少的原因可能是什么?

4

0 回答 0