有没有办法为脚本自定义属性分配变量的值?



我正在尝试将脚本自定义属性动态分配给变量的值。我正在尝试这样做,因为我想将产品 SKU 传递给它。

我像往常一样尝试了一个变量,但是当我保存它时,浏览器会自动在变量名称周围添加引号,使其作为字符串超过变量名称。

<script>
var test = "SKU";
</script>
<script src="website" defer="defer" data-custom-vars=test>

做以上我期待的

<script src="website" defer="defer" data-custom-vars="SKU">

但相反,我得到了

<script src="website" defer="defer" data-custom-vars="test">

我正在为脚本 src 部分使用第三方工具。

有没有其他替代方法可以实现这样的事情?

谢谢

幸运的是,您的脚本标签具有defer属性,因此在页面加载之前它不会运行。所以,如果你在 HTML 中的脚本标签之后立即运行 Javascript,你可以参考上面的脚本标签并更改其custom-varsdata 属性,一旦延迟脚本加载,它就会看到它具有所需的custom-vars属性:

<script id="deferredScript" src="website" defer="defer"></script>
<script>
var test = "SKU";
document.getElementById('deferredScript').dataset.customVars = test;
</script>

你可以用document.write一次性完成,但考虑到其他可用的方法,document.write通常被认为是非常糟糕的做法。

最新更新