H5 页面 移动端实现长按保存图片以及图片显示异常问题
uniapp 中的 一些小坑:
- h5 页面 image 标签中的 src 属性不支持 写 @ ,将image 标签修改为 img标签即可。
- uniapp 写 h5 页面 , image 标签 在 ios 端 不支持 长按 保存图片,使用canvas 标签包裹img标签,然后将 image 标签更换为 img 标签,添加
-webkit-touch-callout: default
即可,如下所示:
<view class="linkreceive">
<canvas style="width: 100%;height:100%;" canvas-id="code">
<!-- @longtap="bc_code" -->
<img src="@/static/evaluationResult/getWXAUnlimitCode.jpg" class="linkimage" mode="widthFix" />
</canvas>
</view>
css 部分:
.linkimage {
display: block;
width: 100%;
height: 100%;
-webkit-touch-callout: default; // 要配置这行关键代码,不然可能不生效
}
照这样设置即可(只是测试了部分机型–目前测试的 ios 都支持)。
- uniapp 项目中 引入大型图片,图片显示异常问题 。解决办法:方式一:竖屏状态下 在 image 标签上面设置
mode="widthFix"
,横屏状态下 设置mode="heightFix"
,可能还要针对上面设置的两个属性,添加对应的高度即可。
方式二:就是不要使用image标签,使用img
标签(未测试),如果使用这种方式,就不需要额外设置高度了,图片会自行撑起来。