6***@qq.com
6***@qq.com
  • 发布:2017-08-09 18:17
  • 更新:2017-08-10 11:45
  • 阅读:913

【报Bug】app上拉加载,url传参会报错

分类:MUI

详细问题描述
条件:
代码要兼容浏览器和app;
app页面跳转过程中,webview的id和url保持一致,且url内有参数传递的话;
跳转的目标页面有上拉加载;
跳转到新页面就会报错,无法初始化上拉加载。

重现步骤
[步骤]用手机连接hbuilder调试,点击切换页面跳转到test.html页面
[结果]上拉加载初始化时报错
[期望]正常初始化上拉加载

运行环境
[系统版本]android6.0
[mui版本]最新版

附件
[代码片段]
[安装包]

联系方式
[QQ]
[电话]

2017-08-09 18:17 负责人:无 分享
已邀请:
n***@gmail.com

n***@gmail.com

function pullfreshCallback(){  
            console.log("上拉了一次");  
        }

我打开你的demo之后已经自动触发了上拉加载,并打印了你的log,说明该函数pullfreshCallback具体业务需要自己去实现,可以参考hello mui 中上拉加载的示例

  • 6***@qq.com (作者)

    你好!在网页中直接打开测试是没有问题的,但是用hbuilder连接手机,以app的形式测试就会报错;

    具体报错原因是app上拉加载初始化时会设置一个参数,data-pullrefresh-plus-+"webviewId",此时webwiewId和需要传参的url一样,里面包含"?key=value"字符,会报不是合法的可设置属性,导致js阻塞,无法初始化上拉加载。

    2017-08-10 09:39

n***@gmail.com

n***@gmail.com

在url后面拼参数现在是不支持的,你想给页面传值的话,可以通过extras节点传递

mui.openWindow({  
     url: url,   
     id:url,  
     extras: {  
        orderId:1 //自定义扩展参数,可以用来处理页面间传值  
     }  
  });

在接受页面直接访问获取

plus.webview.currentWebview().orderId

具体可参考mui 文档 打开新窗口

  • 6***@qq.com (作者)

    恩恩,这个知道,之所以在url里面传值,是为了兼容web页面....目前解决方案是:页面跳转函数里,判断url里面有参数的话,把参数部分去掉后当做id使用,目前没有问题,只是如果遇到需要id和url一致的需求的时候,有可能会有问题...感谢解答!

    2017-08-10 18:13

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