Dcloud开发webApp踩过的坑

使用dcloud开发webApp有一段时间了,其中也踩了不少坑,现在总结一些(mui.js版本号,V2.9.0)。

1,app启动后选择进入那个页面。

可以在manifest.json中设置页面入口,通常设置为index.html.但有时需要根据业务需要进入其他页面。应用场景:根据用户登录状态来选择进入不同的页面,如果用户已经登录,则进入index.html页面。如果用户没有登录,则进入登录页面。

mui.plusReady(function(){

var  CurrentWebview=plus.webview.currentWebview();

if(!logined){

 CurrentWebview.loadURL("login.html");

}

});   最开始尝试这样写,但是效果并不好。后改成 if(!loggined){

      window.location.href="login.html"; 

      }.达到了预期效果。为了更加明显,可以在启动设置里面,设置延时1秒启动。

2,在使用mui弹窗时,如果想自定义样式,需要使用div模式,即使用h5模式的对话框,可以对mui.css进行样式覆盖。mui.confirm(str_audit,title, btnArray, function(e) {},“div”);

3,使用mui弹窗时,在弹窗上面滑动,弹窗下面的内容也跟着滚动。解决办法,


function setStopContentScroll(){
$("body,html").css({"overflow":"hidden"});
}
function setContentScroll(){
$("body,html").css({
"overflow-y":"scroll",
"overflow-x":"hidden"
});
}

当弹窗出现时,setStopContentScroll().弹窗关闭时,setContentScroll().

4,弹窗出现时,禁用手机返回键。

 mui.back=function(){

    return false;

 }

当弹窗关闭时,重新设置mui.back为

     mui.back=function(){

             var currentWebviwe=plus.webview.currentWebview();

             plus.webview.close(currentWebviwe);

        }

5,使用miui.closePopup()可以关闭当前打开的弹窗。使用mui.closePopups()可以关闭多有对话框。

6,mui页面默认侧滑返回。可以禁止此功能。

var cv=plus.webview.currentWebview();

cv.setStyle({'popGesture':'none'})


你可能感兴趣的:(webAPP混合开发)