将变量直接从<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)
THE END
二维码