详细问题描述
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]
3 个回复
Golphin (作者)
请问,怎么处理?
DCloud_iOS_XHY
什么项目?请发一个完整的示例工程
7***@qq.com
最后怎么解决的