之前做了pc端的 html 转 图片和转pdf,都挺顺利的,结果一上手机端就是各种小问题
一. html 中含有图片时在手机端总是不显示
pc端测试的好好的,结果到了手机端,html里面的img标签就是不显示,好像只是ios上面的,控制台也没有报错,弄了好久,最后确定问题:
本来的路径是 图片链接,需要将图片链接 转成base64 具体操作如下:
先用一个img装路径(注意不要用document.creatElement('img')的方式来创造元素,移动端有兼容性问题
mounted() {
var img = document.querySelector(".head");
var tempImage = document.querySelector(".head2");
var imgLink = '图片链接';
this.realSrc = imgLink;
tempImage.onload = () => {
that.src = that.getBase64Image(tempImage);
};
img.onload = () => {
this.srcDown = false;
this.getresume(this.badge);
};
}
html
<img class="head" :src="src" alt />
<img class="head2" v-show="srcDown" :src="realSrc" alt />
function
getBase64Image(img) {
//转换为 base64 地址
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.width, img.height);
var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
var dataURL = canvas.toDataURL("image/" + ext);
return dataURL;
},
base64 转换结束