Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在`data:`URIs中转义SVG的正确方法?_Javascript_Google Chrome_Svg - Fatal编程技术网

Javascript 在`data:`URIs中转义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()

Chrome最近开始使用

我维护的应用程序严重依赖于数据URI中的SVG图像(
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转义,但我还没有真正尝试过。阿尔瓦罗·冈萨雷斯:这似乎删除了弃用警告。非常感谢。如果你回答这个问题,我会认为你的答案是正确的。