追逐者
追逐者
  • 发布:2015-03-18 20:26
  • 更新:2017-04-27 17:22
  • 阅读:2072

ios下webview.children()[0].preload;无法获取到值

分类:HTML5+

创建父webview和子webview(有上拉刷新和下拉加载)在进行传参时会有很多让人不解的问题,问题描述如下:

//父webview分传值和不传值两种情况  
var view = plus.webview.create("comment.html", "comment.html");//父页面没有传值的情况   
var view = plus.webview.create("comment.html", "comment.html", {}, {//父webview要传值的情况  
                    preload: ‘父webview的值’  
                });  
//子webview进行传值  
var view2 = plus.webview.create("comment_child.html", "comment_child.html", {//创建子webview  
        top: '48px', //子页面顶部位置  
        bottom: '50px', //子页面底部位置  
                }, {  
                preload: ‘子webview的值’  
            });  
view.append(view2);  
plus.nativeUI.showWaiting();  
view.addEventListener("loaded", function() {  
    view.show(that.at, that.as);  
        })  
//当点击按钮时创建父webview和子webview  

//这个方法的执行是在父webview中  

var view = plus.webview.currentWebview().children()[0];  
            var pr=view.preload ;//从父webview取子webview的值     
                        alert(pr);

第一种情况:父webview没有传值时
android:可以通过plus.webview.currentWebview().children()[0];获取子webview的值,
ios:获取的值为nudefined
第二种情况:父webview传值时
android:第二次打开页面时子页面无法下拉(做子webview是为了实现下拉刷新的功能 的)且获取的子webview的值为nudefined
ios:获取的值为nudefined,但是可以下拉刷新

2015-03-18 20:26 负责人:无 分享
已邀请:
jclarry

jclarry

有一个页面是两个webview一个是父页面一个是子页面
现在我在其它页面传值到父页面的时候在第二次进入这个页面的时候子页面无法下拉加载更多。

另外IOS下我通过

plus.webview.currentWebview().children()[0];  
var pr=view.preload ;//从父webview取子webview的值   

无法获取子页面的值

DCloud_IOS_XTY

DCloud_IOS_XTY

你文中提到的iOS的问题确认是个bug,该问题下个版本修复,私信下联系方式我找你测试一下

chender

chender - 与人为善

这个问题我有q过官方人员,他们说说ios下webview的某些操作是异步的,所以有可能不能立即获取到子webview,我的做法是不通过.children[]获取子webview,直接通过js引用来获取(同一个web页面)

y***@163.com

y***@163.com

这个现在有解决办法 没

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