mui.openWindow 打不开新页面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuepan1994/article/details/52605797
用JS创建新的button,并给button添加点击事件,添加alert成功弹出,但是点击跳转到新的页面时跳转失败,一直跳转不过去。奇怪的是模拟器可以跳转,真机跳转过去。代码如下:
var button = document.createElement('button');
button.className = "mui-btn2 mui-btn-primary";
button.type = "button";
button.textContent = "详情";
sliderDiv.appendChild(button);
-----------------------------------------------------
button.addEventListener('tap', function() {
//mui.alert("查看本方案详情","提示",null,null);
mui.openWindow({
url: '../nearby/company_scheme_detail.html',
id: 'company_scheme_detail.html'
});
});
通过询问官方和其他各种尝试,最后发现mui.openWindow在该处没法使用。可能是我使用mui-popover和mui-card的原因,也可能是mui.openWindow无法调用html5内部接口。不过不管是什么原因,mui.openWindow方法是不能用了,但是我们依然要页面跳转呀,怎么办呢???
想了想那就用比较老的方法,在A页面关闭A页面,打开B页面。在B页面关闭B页面,打开新页面。
具体代码如下:
A页面
button.addEventListener('tap', function() {
plus.webview.currentWebview().hide();
plus.webview.open('../nearby/company_scheme_detail.html','company_scheme_detail.html');
});
B页面
首先去掉返回按钮class里面的"mui-action-back"
然后给返回按钮添加id="id"
重设点击事件:
document.getElementById("back").addEventListener('tap',function(){
plus.webview.currentWebview().hide();
plus.webview.open('../nearby/maps_company_detail.html','maps_company_detail.html');
});
以上能实现当mui.openWindow跳转不了时的点击跳转
不过以上方法也有两个不好的地方:
1.官方指出5+环境下使用,必须在plusready后使用有效。需要页面初始化,以上没有进行初始化不知道有没有什么隐患
2.跳转的动画比较突兀,和原先"mui-action-back"不一样。
以上就是本人尝试解决mui.openWindow 打不开新页面方法,如果大家有更好的意见欢迎提出并完善,谢谢~
ps:不太了解plus的童鞋,可以参考另一篇文章
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页