在苹果设备上使用 new Image() 加载跨域图像时,可能会遇到 onload 事件无法执行的情况。这通常是由于跨域问题导致的。当浏览器加载跨域图像时,如果图像服务器不允许跨域访问,图像的加载事件(如 onload)将不会被触发。

为了解决这个问题,可以在图像加载之前设置 crossOrigin 属性为 'anonymous',这将告诉浏览器允许跨域请求图像。例如:

var img = new Image();
img.crossOrigin = 'anonymous';
img.onload = function() {
  // 图像加载完成后的操作
};
img.src = 'https://example.com/image.jpg';

需要注意的是,如果你尝试从本地文件系统加载图像,由于安全限制,跨域属性是无效的,即使你设置了 crossOrigin 属性。在这种情况下,可以尝试将图像上传到一个服务器并从那里加载。

解决苹果 New Image 跨域问题:onload 事件失效的原因及修复方法

原文地址: https://www.cveoy.top/t/topic/KbM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录