createElement('canvas') 代码适用于 Safari,但不适用于 Firefox、Chrome
我正在尝试一个简单的查询,它获取图像并将其数据加载到变量中。 此代码适用于 Safari(5),但不适用于 Firefox(3.6.3 for Mac) 或 Chrome(10 for Mac)。
这是代码: http://jsfiddle.net/saTzx/
知道可能出了什么问题吗?
与此代码相关的另一个问题是,drawImage() 不应该实际绘制图像吗?在任何浏览器中都不会发生这种情况。
I am trying a simple query which gets an image, and loads its data into a variable.
This code works on Safari(5), but doesn't work on Firefox(3.6.3 for Mac) or Chrome(10 for Mac).
Here's the code: http://jsfiddle.net/saTzx/
Any idea what could be going wrong?
Another question related to this code is, shouldn't drawImage() actually draw the image? This doesn't happen in any of the browsers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
图像已绘制,您只是从未将画布附加到任何父元素(例如
document.body.appendChild(canvas)
)。我在 Safari 中也收到“无法加载图像”(另外,这不是真正的错误,图像已加载),这是正确的。您正在尝试读取被图像污染的图像数据,而没有任何适当的 CORS 标头,这是你的错误的根源。修复你的标题。
The image is drawn, you just never appended the canvas to any parent element (e.g.
document.body.appendChild(canvas)
).I get "Failed to load image" (also, that isn't the real error, the image is loaded) in Safari too, and rightly so. You are trying to read image data tainted by an image without any appropriate CORS headers, which is the source of your error. Fix your headers.