1***@qq.com
1***@qq.com
  • 发布:2016-12-16 20:18
  • 更新:2017-06-12 11:58
  • 阅读:1809

【报Bug】showWaiting的setTitle方法堆栈溢出

分类:HTML5+

详细问题描述
[内容]
我在按照”App资源在线升级更新“做wgt更新时,想通过nativeUI的waiting来显示wgt包下载进度,当下载任务的状态发生改变时,调用waiting的setTitle方法来显示已下载大小和总大小,但使用过程中会报 Uncaught RangeError: Maximum call stack size exceeded.如果不暂停还会导致手机死机重启
重现步骤
[步骤]下载wgt包时,监听下载任务,状态改变,调用setTitle设置waiting,显示当前已下载和总大小
[结果]报错:Uncaught RangeError: Maximum call stack size exceeded,手机死机
[期望]显示下载任务进度(当前已下载和总大小)

运行环境
[系统版本]win 7
[浏览器版本]
[IDE版本]Hbuilder
[mui版本]

附件
[代码片段]
/**下载wgtu差量更新包

  • @param {Object} url wgtu包地址
    */
    function downWgtu(url, index) {
    var w=plus.nativeUI.showWaiting("升级包下载中...(" + (readyWgtu + 1) + "/" + sumWgtu + ")",{back:"none"});
    var dtask = plus.downloader.createDownload(url, {
    method: "GET"
    }, function(d, status) {
    if(status == 200) {
    console.log("Download wgtu success: " + d.filename + JSON.stringify(d));
    plus.nativeUI.closeWaiting();
    installWgtu();
    } else {
    plus.nativeUI.closeWaiting();
    alert("Download wgtu failed: " + status);
    }
    });
    dtask.addEventListener('statechanged', function(d, status) {
    console.log(d.downloadedSize+"--"+d.totalSize);
    w.setTitle("升级包下载中...(" + (readyWgtu + 1) + "/" + sumWgtu + ")\n 进度:"+d.downloadedSize+"/"+d.totalSize);
    });
    dtask.start();
    }
    [安装包]

联系方式
[QQ]1052420024
[电话]13872344682

2016-12-16 20:18 负责人:无 分享
已邀请:
下一页丶翻

下一页丶翻

解决了么?

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