【发布时间】:2018-09-05 04:41:36
【问题描述】:
好的,我有一个 codeigniter 应用程序。现在在 page1 我有一个 ajax,它从 page2 获取一个充满谷歌云 cdn 图像的 html 内容,然后将内容附加到一个 div。我正在使用 html2canvas 将该 div 内容获取到 page1 上的画布上。现在很明显,page1 上的画布已被污染。我的问题是如何让toDataUrl 工作!需要画布。
这是我迄今为止尝试过的:
-
像这样用html2canvas添加了一个代理(都是php n js)。它帮助我摆脱了html2canvas无法从cdn加载图像的问题-
html2canvas(div_content,{ proxy: "proxy.js", useCORS: true,allowTaint: true}).then(function(canvas) { var img=canvas.toDataurl(); }); -
尝试在两个控制器构造函数上添加跨域标头,这些构造函数在下面两种方式为 page1 和 page2 提供服务,但不起作用。
我。
header("Access-Control-Allow-Methods: GET, OPTIONS"); header("Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding");二。
$this->output->set_header('Access-Control-Allow-Origin: *');
P.S : 不要给出在本地存储中下载图像并在 page2 上使用它们的解决方案,因为我使用的是 Google App Engine 标准并且我只能在存储桶上写入/存储文件!
【问题讨论】:
标签: codeigniter google-app-engine canvas cross-domain html2canvas