撒网要见鱼
撒网要见鱼
  • 发布:2015-10-09 16:44
  • 更新:2015-11-18 20:24
  • 阅读:1698

下载时报错:Uncaught RangeError: Maximum call stack size exceeded

分类:HTML5+

设备:
手机型号: TCL P588L
内核版本: 3.10.65
版本号: TCL_P588L_V3.0
硬件版本:M18H_V1.01_PCB(150212)
Android版本: 5.02

报错代码:

var dtask = plus.downloader.createDownload()...  
dtask.addEventListener("statechanged", function(task, status) {  
				switch (task.state) {  
					case 1: // 开始  
						showProgressbar.setTitle("开始下载...");  
						break;  
					case 2: // 已连接到服务器  
						showProgressbar.setTitle("开始下载...");  
						break;  
					case 3:  
						console.log('下载信息:'+task.totalSize+","+task.downloadedSize);  
						if(task.totalSize!=0){  
							var a = task.downloadedSize / task.totalSize * 100;  
							showProgressbar.setTitle("正在下载" + parseInt(a) + "%");  
						}else{  
							showProgressbar.setTitle("下载中...");  
						}  
						  
						break;  
					case 4: // 下载完成  
						IsDownloadCompleted = true;  
						showProgressbar.close();  
						break;  
				}

出错代码是其中 case3里面的showProgressbar.setTitle(),只要把case3里面的showProgressbar.setTitle给注释掉,就不会报错了,否则会报错,并且下载出错。
求解决!

2015-10-09 16:44 负责人:无 分享
已邀请:
立扬

立扬

也遇到了,改如何解决,求大神出现

DCloud_UNI_FXY

DCloud_UNI_FXY

showProgressbar是什么?

  • 立扬

    我用的是plus.nativeUI.showWaiting("   正在查询...   ") 在statechanged这里执行显示进度状态


    2015-12-04 16:56

  • 立扬

    我想楼上也应该是这个


    2015-12-04 16:57

  • DCloud_UNI_FXY

    回复 立扬:建议可以控制下plus.nativeUI.showWaiting的执行速度。比如用rAF或setTimeout之类的,不要让showWaiting执行的太频繁。比如限制每下载100kb才更新一次showWaiting.


    2015-12-04 21:20

  • 立扬

    thanks.我试试改下


    2015-12-09 11:28

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