我正在尝试将脚本自定义属性动态分配给变量的值。我想这样做,因为我想将产品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部分。
是否有其他替代方法可以实现这样的目标?
谢谢
答案 0 :(得分:0)
幸运的是,您的脚本标签具有defer
属性,因此它只有在页面加载后才能运行。因此,如果您在HTML中的脚本标签之后立即运行Javascript,则可以引用上面的脚本标签并更改其custom-vars
数据属性,一旦加载了延迟的脚本,它将看到它具有所需的{ {1}}属性:
custom-vars
您可以一次使用<script id="deferredScript" src="website" defer="defer"></script>
<script>
var test = "SKU";
document.getElementById('deferredScript').dataset.customVars = test;
</script>
来完成此操作,但是考虑到其他可用方法,通常认为document.write
是相当差的做法。