ios - iOS 上的 Safari 向 DataURL 抛出 SECURITY_ERR : DOM Exception 18 when calling canvas.

标签 ios safari html5-canvas fabricjs todataurl

我有一个 T 恤设计应用程序(在 Fabric.js 1.7.14 上运行),它在 iOS Safari 上运行良好一段时间了。现在,当我在 canvas 元素上调用 toDataURL 时,Safari 会抛出安全错误。有问题的页面在这里:

https://ideashirt.pl/projektuj/koszulka-t-shirt-basic-kolor-meska

最奇怪的是它不能在本地重现。当我从 iPhone 访问本地服务器时,一切正常(http 和 https)。但是,当您从 iPhone 上的 Safari 访问 ideashirt.pl 页面并向 T 恤添加一些文本时,当您想要将产品添加到购物车时,脚本会失败。当您刷新页面并且不修改 Canvas 时,它就可以工作。手动添加元素和刷新后从 session 添加元素时,添加元素的方式相同。这让我觉得当你修改 Canvas 上的元素时,也许 Fabric 会以某种方式污染 Safari 的 Canvas 。

最佳答案

问题确实是 CORS。我们最近将静态内容迁移到 Amazon, Canvas 上绘制的结构控制图像(用于调整大小/旋转/删除)由 Cloudfront 域提供。奇怪的是,只有 iOS 上的 Safari 和 FF 的某些版本受到了影响。感谢您的帮助!

关于ios - iOS 上的 Safari 向 DataURL 抛出 SECURITY_ERR : DOM Exception 18 when calling canvas.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56816999/

相关文章:

ios - ViewController 委托(delegate)方法未从 AppDelegate 触发

ios - NSParagraphStyle 的 paragraphSpacingBefore 不起作用

Safari 和 IE 中的 CSS 问题

css - 一个 img 中的简单图像和视网膜图像

jquery - 如何使用 Fabric.js 在 Canvas 上画一条线

iphone - 我如何从另一个方法调用这个方法?

ios - 我应该在 Swift 中继承 NSObject 吗?

css - Safari 上未显示 SVG CSS3 动画

javascript - 如何用动画重新渲染 canvasjs 图表?

javascript - 如何使用 JavaScript 将 Facebook 好友个人资料图片添加到 HTML5 Canvas