stock2
stock2
  • 发布:2015-08-20 19:50
  • 更新:2015-08-21 12:30
  • 阅读:1346

示例中再次打开同一个页面,很快的.如何实现的?

分类:HBuilder

hellow示例中,打开,关闭,再打开之前刚刚打开的,秒开. 如果实现的? 软件很多时候,是多次操作重复的,还是很有用的.
如果有知道,请说下.
类似 打开后,先不关闭 ,可以再次打开.如果再次打开其他的,判断不一致,就关闭之前的?
谢谢.

2015-08-20 19:50 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

hellow示例?

如果是hello mui示例的话,核心代码如下:

var reload = true;  
if (!template.loaded) {  
    //模板子页面url和本次点击目标地址不同,则通过loadURL重新加载  
    if (contentWebview.getURL() != this.href) {  
        contentWebview.loadURL(this.href);  
    } else {  
        //相同则不处理  
        reload = false;  
    }  
} else {  
    reload = false;  
}  
//url相同,直接显示  
(!reload) && contentWebview.show();  

headerWebview.show(aniShow, 150);

这里使用了模板机制,具体参考:hello mui中的无等待窗体切换是如何实现的

chender

chender - 与人为善

重写mui.back,返回的时候不关闭,只是hide,然后下次需要打开的时候通过id获取之前的webview直接显示

stock2

stock2 (作者)

谢谢楼上的, 如果这样 其他都是不关闭 ,这样影响性能吧.太多页面的话.
示例里,感觉第一个打开的不关闭,后续的打开其他的,就关闭之前的了. 感觉一直保持最近一个不关闭.
希望有更好的模式. 谢谢.

chender

chender - 与人为善

原理也一样哈,返回的时候隐藏,下次打开的时候通过id获取这个webview,然后判断url是否一样,如果一样就直接显示,如果不一样就loadUrl;
不过这个也会有一些问题,官方那个都是静态页面,所以没问题;
比如你两次打开同一个页面时参数不一样,那也不能直接显示,要不然显示的还是之前的内容

stock2

stock2 (作者)

谢谢版主 : )

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