我正在尝试将脚本自定义属性动态分配给变量的值。我正在尝试这样做,因为我想将产品 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-vars
data 属性,一旦延迟脚本加载,它就会看到它具有所需的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
通常被认为是非常糟糕的做法。