domToImage代码仅在iOS浏览器上抛出安全错误(Dom Exception 18)

时间:2016-10-31 18:27:25

标签: javascript jquery mobile html5-canvas html2canvas

我正在尝试使用dom-to-image插件。这是我的示例代码。

www.avarachan.com/test.html

IT在桌面上工作正常,但在iphone上,它会抛出错误

安全错误dom exception 18

我尝试了以下htaccess选项

Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" 

错误仍然存​​在。它似乎是在Android上使用chrome(我使用browserstack测试)。只有,iOS chrome和safari不断抛出异常。即使只有div和文本。

这是一个类似的库https://github.com/niklasvh/html2canvas,它可以在移动设备上运行。但是图书馆并不像dom-to-image那么好。有人可以使用js和canvas knowldge来研究后者在iOS上的运行方式是否正常,并且可能会建议一个解决方案,让移动设备上的dom-to-image工作?

2 个答案:

答案 0 :(得分:2)

“DOM异常18通常意味着您超出了设备允许的配额(50MB),但在某些环境中,这是因为Apple删除了WebSQL支持(例如WKWebView)。”

来源:https://github.com/pouchdb/pouchdb/issues/4234

答案 1 :(得分:2)

确保你有

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'">

并尝试降低质量