let img = new Image()
img.onload = () => {
alert(1)
}
img.src = src
img.crossOrigin = 'Anonymous'
在IOS微信中,把crossOrigin放在最后,触发了onload事件,但是crossOrigin没有设置成功。
如果把crossOrigin放在前面,则不触发onload事件(PC上chrome可以触发),crossOrigin设置成功。
IOS微信中怎么样的顺序才能既成功设置这两个属性,又触发onload事件呢?
// vue写的,用了zrender这个库
this.zrFront = zrender.init(document.getElementById('front'))
for (let x in data) {
let img = new Image()
img.crossOrigin = 'Anonymous'
img.onload = () => {
this.zrFront.add(new ImageShape({
style: {
x: attribute.x * this.ratioX,
y: attribute.y * this.ratioX,
image: img,
width: attribute.filed_attribute.width * this.ratioX,
height: attribute.filed_attribute.height * this.ratioX
},
z: 0
}))
}
谢邀,一般的顺序是先设置属性,再设置load事件回调,最后再给src赋值吧,因为给src赋值会直接触发加载动作从而触发load事件。