JS从内部获取脚本参数

JS Get script parameters from inside?

本文关键字:脚本 参数 获取 内部 JS      更新时间:2023-09-26

我有一个脚本"myscript.js",我像这样嵌入:

<script type="text/javascript" src="myscript.js" data-param="{'param1':true,'param2':false}"></script>

如何在 myscript.js 中获取data-param的值?我宁愿在没有jQuery的情况下这样做。

附言。我曾经看到过这样的事情:<script src="myscript.js,param3"> - 如果我这样做,我会怎么param3

像这样:

var param = document.getElementsByTagName("script")[0].getAttribute("data-param");

这假设你只有 1 个脚本(因此[0])——如果你有更多,那么,你必须循环并获得正确的值。

获取页面中的最后一个脚本元素,并使用getAttribute获取参数。最后一个脚本元素始终是当前脚本元素,因此无需使用 ID。

// Get all script tags
var scriptElements = document.getElementsByTagName("script");
// Get the number of scripts
var numberOfScripts = scriptElements.length;
// The current script is the last script in the list
var currentScript = scriptElements[numberOfScripts - 1];
// Now you can retrieve the attribute
var param = JSON.parse(currentScript.getAttribute("data-param"));

这是相同的,只是更短且可读性较差:

var scriptElements = document.getElementsByTagName("script");
var param = JSON.parse(scriptElements[scriptElements.length - 1].getAttribute("data-param"));