Golphin
Golphin
  • 发布:2020-04-08 07:05
  • 更新:2021-07-21 15:11
  • 阅读:1326

【报Bug】云打包ios端的image的onload() 函数不执行

分类:HBuilderX

详细问题描述

function showImg(url, dom) {  
				// document.getElementById('logMsg').value += '\n'+'func showImg开始展示上传的图片'+'\n';  
				plus.nativeUI.showWaiting();  
				// 兼容以“file:”开头的情况  
				// document.getElementById('logMsg').value += '\n'+url.toString()+'\n';  
				if (0 != url.toString().indexOf("file://")) {  
					url = "file://" + url;  
				}  
				// document.getElementById('logMsg').value += '\n'+url.toString()+'\n';  
				//			    var _div_ = document.getElementsByClassName("showimg")[0];  
				var _img_ = new Image();  
				// document.getElementById('logMsg').value += "构建image对象";  
  
				_img_.src = url; // 传过来的图片路径在这里用。  
				_img_.onclick = function() {  
					// document.getElementById('logMsg').value += '\n'+'_img_.onclick'+'\n';  
					plus.runtime.openFile(url);  
				};  
				  
				_img_.onload = function(){  
					var tmph = _img_.height;  
					var tmpw = _img_.width;  
					var isHengTu = tmpw > tmph;  
					var max = Math.max(tmpw, tmph);  
					var min = Math.min(tmpw, tmph);  
					var bili = min / max;  
					if (max > 1200) {  
						max = 1200;  
						min = Math.floor(bili * max);  
					}  
					tmph = isHengTu ? min : max;  
					tmpw = isHengTu ? max : min;  
					_img_.style.border = "1px solid rgb(200,199,204)";  
					_img_.style.margin = "10px";  
					_img_.style.width = "150px";  
					_img_.style.height = "150px";  
					_img_.onload = null;  
					var quality = 100;  
					if (_img_.fileSize > 500 * 1024) {  
						quality = (500 * 1024 / _img_.fileSize) * 100;  
					}  
					// document.getElementById('logMsg').value += '\n'+'_img_.onload plus.io.resolveLocalFileSystemURL '+'\n';  
					plus.io.resolveLocalFileSystemURL(url, function(entry) {  
							entry.file(function(file) {  
								console.log(file.size + '--' + file.name);  
								// document.getElementById('logMsg').value += '\n'+file.size + '--' + file.name+'\n';  
								canvasResize(file, {  
									width: tmpw,  
									height: tmph,  
									crop: false,  
									quality: quality, //压缩质量  
									rotate: 0,  
									callback: function(data, width, height) {  
										f1.push(data);  
										_img_.src = data;  
										console.log('压缩' + f1[0]);  
										// document.getElementById('logMsg').value += '\n'+'canvasResize  uploadImg(dom)前  '+'\n';  
										uploadImg(dom);  
										//			                            _div_.appendChild(_img_);  
										//			                            plus.nativeUI.closeWaiting();  
									}  
								});  
							});  
						},  
						function(e) {  
							plus.nativeUI.closeWaiting();  
							console.log(e.message);  
						});  
				}  
			};

[内容]该段代码在function调用之后,安卓机器image的onload函数能够正常执行,但iOS的onload函数不执行;真机运行测试的时候,用windows连接ios设备,该函数也能够运行,但是真机打包之后,产生的ipa,安装的手机中,该函数就不执行了

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2020-04-08 07:05 负责人:无 分享
已邀请:
Golphin

Golphin (作者)

请问,怎么处理?

DCloud_iOS_XHY

DCloud_iOS_XHY

什么项目?请发一个完整的示例工程

7***@qq.com

7***@qq.com

最后怎么解决的

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