javascript - 将键值对传递给 JavaScript 文件

标签 javascript html

你能像这样将键值对传递给 JavaScript 文件吗:

<script type="text/javascript" src="http://www.example.com/script.js?key=value"></script>

最佳答案

scriptaculous 使用了该技术(参见line 54):

<script type="text/javascript" src="scriptaculous.js?load=effects,dragdrop">
</script>

您可以通过检查页面上 script 元素的源来实现此目的,我为您留下一个独立于框架的函数:

function getScriptVariable(scriptName, key) {
  var scripts = document.getElementsByTagName('script'),
      n = scripts.length, scriptSource, i, r;

  for (i = 0; i < n; i++) {
    scriptSource = scripts[i].src;
    if(scriptSource.indexOf(scriptName)>=0) {
      r = new RegExp("[\\?&]"+key+"=([^&#]*)");
      var keyValues = r.exec(scriptSource);
      return keyValues[1];
    }
  }
}

然后您可以按照您想要的方式嵌入脚本:

<script type="text/javascript" src="myScript.js?myKey=myValue">
</script>

并以这种方式使用上面的函数:

var value = getScriptVariable('myScript.js', 'myKey'); // "myValue"

关于javascript - 将键值对传递给 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1936479/

相关文章:

javascript - 名为 "clear"的函数未被调用。尝试使用内联 js 调用 "clear()"

javascript - Require 不是使用带有 babel 和 webpack 的 ReactJs 定义的

javascript - Aurelia - 自定义事件 : trigger or delegate?

javascript - 脚本代码与宽度缩小的图像冲突

javascript - 为网站提供多个动画库(例如GSAP,animate.css,anime.js,滚动出)是一种惯例吗?

javascript - 在 Highcharts 中,当图表具有高数据时,工具提示不会移动,这与图表具有低数据时不同

javascript - 使用来自不同数组的属性更新数组,并且两个数组具有相同的键 - javascript

javascript - 突出显示滚动表中的中间行

javascript - 按键时增加数字 (JavaScript)

html - 当我点击复选框时,只有一个 ul 标签在屏幕上可见