如何阻止 go html/template 转义路径(尝试过 .HTML .JS 等)
How to stop go html/template from escaping a path (tried .HTML .JS etc.)
我在 assemble 页面上使用 html/template 功能,我提供给模板的变量之一是使用“/some/path/etc”形式的 URI作为在 onClick="..".
中调用的 JS 函数的参数
无论如何,此配置中使用的字符串将使用反斜杠进行转义:"\/some\/path\/etc"
正如您在下面的 playground 示例中所见,我尝试了所有 .HTML()、.JS() 等函数,但似乎没有任何东西可以阻止转义。
在此处查看 Go Playground 示例:https://play.golang.org/p/2gdghTpQHKP
如何将此 URI "as is" 放入模板结果中?
感谢 mkopriva 的评论。
据我所知,没有办法(如 mkopriva 所述)在 Go HTML 模板中处理 HRML 属性值片段。
所以选项是:
- 保持原样(似乎至少在我的用例中,URI 甚至可以在使用转义正斜杠的进一步处理中工作)
- 首先连接完整的属性,以便 "HTML Attribute" 方式接受它
- 编写一个构造函数,在模板执行中获取部分并组装最终的属性值
- 以某种形式对值进行硬编码
我在 assemble 页面上使用 html/template 功能,我提供给模板的变量之一是使用“/some/path/etc”形式的 URI作为在 onClick="..".
中调用的 JS 函数的参数无论如何,此配置中使用的字符串将使用反斜杠进行转义:"\/some\/path\/etc"
正如您在下面的 playground 示例中所见,我尝试了所有 .HTML()、.JS() 等函数,但似乎没有任何东西可以阻止转义。
在此处查看 Go Playground 示例:https://play.golang.org/p/2gdghTpQHKP
如何将此 URI "as is" 放入模板结果中?
感谢 mkopriva 的评论。
据我所知,没有办法(如 mkopriva 所述)在 Go HTML 模板中处理 HRML 属性值片段。 所以选项是:
- 保持原样(似乎至少在我的用例中,URI 甚至可以在使用转义正斜杠的进一步处理中工作)
- 首先连接完整的属性,以便 "HTML Attribute" 方式接受它
- 编写一个构造函数,在模板执行中获取部分并组装最终的属性值
- 以某种形式对值进行硬编码