将变量直接从<script>HTML标签传递给Javascript

是否可以直接从 HTML 标签传递变量<script>

<script async src="https://example.com/lib.js" site="test.com"></script>

这样lib.js可以site像常规变量一样访问?

回答

<script async src="https://example.com/lib.js" site="sitePath"></script>

和:

site = document.currentScript.getAttribute('site'); // sitePath


回答

是的,这是可能的。site我们可以使用dataset代替创建属性。这是为自定义(数据-)属性制作的。

您现在需要做的就是为脚本提供一个 ID 并查询您的数据。

HTML:

<script async src="script.js"></script>

JS:

const script = document.querySelector("#myscript");

console.log(script.dataset.site);

编辑:没有 querySelector

console.log(document.currentScript.dataset.site);

  • @Basj [`document.currentScript`](https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript)

以上是将变量直接从&lt;script&gt;HTML标签传递给Javascript的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>