预加载了几个webview,他们之间是通过菜单切换的,如果菜单点击本身页面(首页里面点击‘首页’菜单)还是会重新创建一个webview而加载首页,所以我加了这个代码
//避免菜单多次点击,多次加载(个人加入的代码)
if(id==plus.webview.currentWebview().id){return null;}
if(openw){//避免多次打开同一个页面(官方demo里面的,貌似不管用)
return null;
}
实现了上面的功能,但又每次都是创建webview,感觉很浪费资源,因为已经存在webview了,只需要调用就好了。所以加了下面的代码
if(plus.webview.getWebviewById(id)){
plus.webview.getWebviewById(id).show('slide-in-right');
return;
}
那么问题来了,经过几个菜单之间的转换,转换的动画不是我规定的‘slide-in-right’而变成了默认,而且多次转换之后,会出现点击无效的情况,经过测试,是进入到
if(openw){//避免多次打开同一个页面(官方demo里面的,貌似不管用)
return null;
}
这个代码里面了,以上核心的问题是:
1、转换动画为什么不是我规定的,而是默认了。
2、多次转换之后,会出现点击无效的情况。
(刚刚接触h5+不久,希望得到耐心人士的回答,谢谢)
6 个回复
Android_磊子
1,如果是子窗口,则不会有切换动画。
2,多次转换后点击无效,还是需要查看代码逻辑书写,使用console.log输出也好,还是使用chrome调试也好。
lingyun132 - 开发者
过了一年了,遇到一样的问题
2***@qq.com
又过了一年了,遇到一样的问题
taoliujun
过了几个月,我也遇到了这个问题。
复现步骤是,后预加载的界面里,点击打开之前预加载过的界面,窗口的切换动画就没了。
1***@qq.com
又又又 过了一年 还是打开之前加载过的界面还是没有动画!直接闪出来 !!官方人呢???!??!?!?
Neil_HL
目前测策略就是:之前已经show的webview,再次调用show()方法就是直接显示;
想要有动画效果的话,必须先hide,再show。