我正在使用 Closure 为 chrome 扩展渲染一个大豆模板,并且在插入chrome-extension://*
链接时遇到问题,因为它们被过滤了soy.$$filterNormalizeUri
虽然通常不允许chrome-extension://*
链接是不可取的,但它在 chrome 扩展中是有意义的。
有没有办法将协议列入白名单或允许未过滤的 URL 替换的特定情况(可能使用soy.$$normalizeUri
而不是soy.$$filterNormalizeUri
)?输入不是用户定义的,应该可以安全使用。
例子:
{template .t}
{foreach $src in $list}
<link rel="stylesheet" href="{$src}" />
{/foreach}
{/template}
$list
生成的样式表路径列表在哪里chrome-extension://*
返回的错误是Uncaught AssertionError: Failure: Bad value
chrome-extension://...for |filterNormalizeUri
有关转义的信息:https ://developers.google.com/closure/templates/docs/security#in_urls