使用 HAML 将异步属性指定为 javascript

Specify async attribute to javascript with HAML

为了在网页中包含 google 分析,生成

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-135345611-1">

我在 docs. Then I found this 中找不到那么多,但它将我的 HTML 标签转换为

%script(:async => "", src="https://www.googletagmanager.com/gtag/js?id=UA-135345611-1")

中间人 v4.2.1 构建失败:

Invalid attribute list: "(:async => \"\", src=\"https://www.googletagmanager.com/gtag/js?id=UA-135345611-1\")".
partials/_header.html.haml:4

有人知道如何在 HAML 中编写这一行以便正确解析吗?

你试过吗?

%script{:async => "", :src => "https://www.googletagmanager.com/gtag/js?id=UA-135345611-1"}

当我 运行 你的代码通过那个网站时,它用方括号而不是括号括起来。也许这就是它无法正确解析的原因?

附带说明一下,我个人使用 https://html2haml.herokuapp.com/,因为它使用的是中间人使用的相同版本的 haml。

要呈现没有属性值的 HTML 属性,例如 asyncselected,请滚动到 http://haml.info/docs/yardoc/file.REFERENCE.html#attributes 处的 "Boolean attributes"。

因此,要包含您的 GA 代码,请使用:

%script{async: true, src: "https://www.googletagmanager.com/gtag/js?id=UA-135345611-1"}