水逸
水逸
  • 发布:2014-10-20 14:50
  • 更新:2014-10-20 16:31
  • 阅读:1648

为什么点击后的页面,再次点击还在?

分类:HTML5+

每个页面中用
/**

  • 处理链接点击事件
    */
    $.ready(function() {
    $('body').on('tap', 'a', function(e) {
    var id = this.getAttribute('href');
    if (id) {
    if (~id.indexOf('.html')) {
    if (window.plus) {
    //侧滑导航涉及Index问题,需要单独处理;
    if (~id.indexOf('')) {
    $.openWindow({
    id: id,
    url: this.href,
    styles: {
    zindex: 9999
    },
    preload: true
    });
    } else {
    $.openWindow({
    id: id,
    url: this.href,
    preload: true
    });
    }
    } else {
    document.location.href = this.href;
    }
    } else {
    if (typeof plus !== 'undefined') {
    plus.runtime.openURL(id);
    }
    }
    }
    });
    });
    })(mui);
    </script>

页面与页面之间用<a href=""></a>进行链接

只要打开后的页面,新打开十几个页面,再去返回打开之前的页面,都不需要从新加载了,这样的好处是有的,但是这样一来,如果APP打开的页面的很多的话,是不是 这些页面都没有关闭?这样下来,岂不是用户用一个APP打开了N个页面?手机打开这样的页面多的话,会不会照成手机发热,或者软件奔溃现象?

在测试的时候 偶然出现APP奔溃现象,是不是和这个相关???

2014-10-20 14:50 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

mui提供了允许并存的预加载页面上限;可使用如下方法设置:
{{{
mui.init({
preloadLimit: limit, //同时并存的预加载窗口数量
});
}}}

比如:设置limit为5,则最多只允许打开5个窗口,打开第6个时,会将第一个关闭,这样保证当前页面最多只有5个窗口并存。

另外,若不想使用预加载,则openWindow的时候,不要传递preload参数即可。

quwei

quwei

那如果我不是预加载的,是手动用 openWindow 方法打开的,但是以前的页面没有关闭。

preloadLimit: limit 这个设置会自动把打开的旧页面关闭吗?

DCloud_UNI_CHB

DCloud_UNI_CHB

openWindow方法中若传了preload:true,则preloadLimit: limit同样会关闭对应页面;若没传,则点击后退时,mui也会默认关闭。

该问题目前已经被锁定, 无法添加新回复