可能这已经被提过很多次了。但我需要得到最终的答案。
我使用对象 html 标记将 SVG 文件加载到浏览器上。使用 javascript 和 DOM,用户可以更改该文件并自定义其颜色元素等等。基本上它是夹克的定制者。我没有为此使用画布。这是从 illustrator 导出并更改的纯 svg。
一切都很顺利,直到我必须将此 svg 的更改版本导出到服务器以创建包含此自定义图像的 pdf 文档。显然我需要向包含此图像的 base64 字符串的服务器发送一个 ajax 请求。
我问的任何人都会说我应该通过 javascript 创建图像,将 src 属性分配给 SVG 的序列化 XML,然后将其绘制到画布上以提取 base64 字符串。
一切都很好,直到我找到toDataURL()
方法(或getImageData()
方法)。它仅适用于 Firefox。其他浏览器正在抛出安全漏洞异常。这显然是不可接受的。
我已经失去了完成这项工作的希望,因为将图像绘制到画布上会污染它。有没有办法在不改变网页整体结构的情况下解决这个问题?