Javascript 在`data:`URIs中转义SVG的正确方法?
Chrome最近开始使用 我维护的应用程序严重依赖于数据URI中的SVG图像(Javascript 在`data:`URIs中转义SVG的正确方法?,javascript,google-chrome,svg,Javascript,Google Chrome,Svg,Chrome最近开始使用 我维护的应用程序严重依赖于数据URI中的SVG图像(data:image/SVG+xml;utf8,…)。之所以使用data:URI而不是传统的图像或SVG标记,是因为SVG是在运行时从更大的JSON文档中的SVG属性加载的 Chrome 60中发生此更改后,是否可以在数据:URL中使用SVG?如果没有,我的选择是什么 更新:用户阿尔瓦罗·冈萨雷斯建议使用它,它确实可以消除弃用警告。数据URI仍然是URI,因此应该是正确的工具: encodeURIComponent()
data:image/SVG+xml;utf8,…
)。之所以使用data:
URI而不是传统的图像或SVG标记,是因为SVG是在运行时从更大的JSON文档中的SVG属性加载的
Chrome 60中发生此更改后,是否可以在数据:
URL中使用SVG?如果没有,我的选择是什么
更新:用户阿尔瓦罗·冈萨雷斯建议使用它,它确实可以消除弃用警告。数据URI仍然是URI,因此应该是正确的工具:
encodeURIComponent()
函数对统一资源进行编码
标识符(URI)通过替换某些
由一个、两个、三个或四个转义序列表示的字符
字符的UTF-8编码(仅为四次转义)
由两个“代理”字符组成的字符序列)
不要忘记将其应用于图像数据,而不是整个URI
如果在CSS中使用URI,那么您就只需要这些了。如果你想在HTML中插入它,你还应该在上面应用HTML编码(这次是完整的URI)。我想说,你需要
encodeURIComponent()
用于URL本身,如果你在HTML中插入它,还需要HTML转义,但我还没有真正尝试过。阿尔瓦罗·冈萨雷斯:这似乎删除了弃用警告。非常感谢。如果你回答这个问题,我会认为你的答案是正确的。