是否可以使用单个javascript标记加载外部js文件并调用其功能?

| 我正在编写可以使用脚本标签插入HTML页面的第三方javascript(my.js)。我要实现以下目标: my.js被加载(具有功能myFunc(params)) 使用适当的参数调用myFunc()(参数可以更改) 将my.js脚本放在首位不是一种选择 我可以使用的最佳方法是什么?     
已邀请:
        问题是您不能真正通过带有指向外部文件的1个脚本标签的参数来传递参数,因此您必须从DOM中的某个元素获取它们: 的HTML:
<html>
<body>
  <script src=\"my.js\"></script>
  <input id=\"params\" type=\"hidden\" value=\"\'param1\', \'param2\', \'param3\'\" />
  <div id=\"result\"></div>
</body>
</html>
JavaScript:
function myfunc() {
var doc = document,
 params = doc.getElementById(\"params\").value.split(\",\"); // make an array of params

doc.getElementById(\"result\").innerHTML = params.toString();
}
window.onload = myfunc;
坦白说,这是一种冲突。正如Felix之前提到的,您可能应该只使用2个脚本标签-一个用于获取外部js文件,另一个用于使用所需参数调用函数。     
        您可以通过查询字符串传入参数,然后动态解析它们。 例如,您的脚本标签变为:
<script src=\"my.js?foo=bar\"></script>
然后,您可以使用以下方法获取URL的值:
var scripts = document.getElementsByTagName(\'script\');
var url = scripts[ scripts.length - 1 ].getAttribute(\'src\');
由于浏览器加载JS的顺序,页面上的最后一个脚本(在加载过程中执行脚本时)应该始终是您的脚本。 然后,您解析查询字符串。关于堆栈溢出有很多问题要解决。例如: 解析JavaScript中的查询字符串     

要回复问题请先登录注册