登录
首页 >  Golang >  Go问答

如何禁止HTML模板转义

来源:stackoverflow

时间:2024-02-19 10:09:29 273浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《如何禁止HTML模板转义》,涉及到,有需要的可以收藏一下

问题内容

我有一个 html 模板,我想在其中插入一些模板本身外部的 javascript 代码。在我的模板数据结构中,我创建了一个字符串字段 js string 并使用 {{.js}} 调用它。问题是浏览器中的所有内容都被转义了:

换行符为 \n

<>\u003c\u003e

"\"

模板内的相同符号就可以了。如果我将 js 字段打印到控制台中也可以。我已经看到通过使用 template.html 类型而不是 string 解决了一些类似的问题。就我而言,它根本不起作用。

编辑 1

实际上下文是


正确答案


将字段的类型更改为 template.JS,如下所示:

type tmpl struct {
    // ...
    js template.js
}

或者声明一个简单的函数,将 string 转换为 template.js 类型,如下所示:

func tojs(s string) template.js {
    return template.js(s)
}

然后使用 Funcs 方法注册该函数并在模板中使用它,如下所示:

{{tojs .js}}

尝试将 js 的类型设置为 template.js

import "html/template"

type x struct {
        JS template.JS
}

可以找到文档 here

以上就是《如何禁止HTML模板转义》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>