如何在页面渲染期间更改颜色 SVG .

How to change the colour SVG during Page Render ?

本文关键字:颜色 SVG      更新时间:2023-09-26

首先,我知道如何动态更改SVG的颜色。我使用了这个问题的解决方案:

jQuery SVG 图像替换

但我的情况不同。

在我的页面上,我有几个图标(SVG),并且有一个颜色选择器。用户可以使用颜色选择器更改图标。一切正常。

现在我想使用用户选择的图标颜色生成整个页面的PDF。

我正在使用第三方 PDF 生成库,该库获取我的页面 URL 并生成该库的 PDF。但问题是颜色没有应用于图标并生成 PDF。我知道这个问题的原因,因为在文档准备就绪时,我将所有 SVG img 标签转换为实际的 SVG 标签,然后将用户选择的颜色应用于它们。这一切都发生在页面呈现之后。

但是 PDF 生成

库不会等待此过程完成,而是在所有 SVG 图像转换为 SVG 并对其应用颜色之前生成 PDF。

我不知道首先等待整个过程完成,然后生成其PDF。

我已经尝试缓存页面,但这也没有帮助。

任何帮助将不胜感激。谢谢

我做到了。

解决方案是将代码包装在 IIFE 中,以便它在页面加载时立即执行,而不是在 DOM 的就绪事件上执行。