疯狂狐狸
疯狂狐狸
  • 发布:2016-08-29 17:53
  • 更新:2016-08-29 17:53
  • 阅读:1891

webview模式多个子页面都具有下拉刷新和上拉加载功能时会报错

分类:HTML5+
    //启用双击监听  
    mui.init({  
        gestureConfig:{  
            doubletap:true  
        },  
    });  

    var subviews = ["informationUncoverSub.html","informationSub.html"];  
    var index = 0;  

    mui.plusReady(function () {  
        var current = plus.webview.currentWebview();  
        var length = subviews.length;  
        for(var i = 0; i < length; i++){  
                var subwebview = plus.webview.create(subviews[i],subviews[i],{  
                    top:"44px",  
                    bottom:"0px",  
                    hardwareAccelerated:false  
                });  
                if(i!==0){  
                    subwebview.hide();  
                }             
                current.append(subwebview);  
        }  

            // 预加载文章详情页面  
        var infoDetail = mui.preload({  
            url: 'infoDetail.html',  
            id: 'infoDetail',  
        });  

        infoDetail.addEventListener('loaded', function() {  
            console.log('infoDetail loaded');  
        });  

        // 默认显示第1个子页面  
        var activeTab = subviews[index];  

        mui(".m-title-border").on("tap","button",function(e){  
                var btn = mui(".m-title-border button");              
                mui.each(btn,function(i,item){  
    //              console.log(this === item);  
                    app.removeClass(item,"m-article");  
                });  

                app.addClass(this,"m-article");  

                var currentLink = this.getAttribute("href");  
                if(currentLink == activeTab){                         
                    return;  
                }  
                plus.webview.show(currentLink);  
                plus.webview.hide(activeTab);                     
                activeTab = currentLink;              
        });       
    });  

    var contentWebview = null;  
    document.querySelector('header').addEventListener('doubletap',function () {  
        if(contentWebview==null){  
            contentWebview = plus.webview.currentWebview().children()[0];  
        }  
        contentWebview.evalJS("mui('#pullrefresh').pullRefresh().scrollTo(0,0,100)");  
    });

在IOS端不会报错,但是在安卓端会报
Uncaught RangeError: Maximum call stack size exceeded.
功能可以用。
删除一个子页面,只有一个子页面时不会报错

2016-08-29 17:53 负责人:无 分享
已邀请:

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