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

时间:2019-08-22 09:14:24

标签: javascript

我正在尝试将脚本自定义属性动态分配给变量的值。我想这样做,因为我想将产品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部分。

是否有其他替代方法可以实现这样的目标?

谢谢

1 个答案:

答案 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是相当差的做法。