如何在我的js文件中使用脚本参数?

时间:2016-02-22 10:15:17

标签: javascript

我有这个脚本代码:

<script src="http://example.com/embed.js?q=123&parameter1=450&parameter2=300"></script>

如何获取q(123)和parameter1(450)以及parameter2(300)的值并将它们用于embed.js文件?我想通过使用这些值为我的embed.js创建条件。我怎样才能实现这一目标?

4 个答案:

答案 0 :(得分:1)

像这样给出脚本元素和ID属性:

<script id="embed-script" src="http://example.com/embed.js?q=123&parameter1=450&parameter2=300"></script>

Javascript:

var url = document.getElementById('embed-script');

function parseGet(val) {
var result = "",
    tmp = [];
var items = url.src.split("?")[1].split('&');

for (var index = 0; index < items.length; index++) {
    tmp = items[index].split("=");
    if (tmp[0] === val)
        result = decodeURIComponent(tmp[1]);
}

return result;
}

在embed.js中获取这样的值:

var value1 = parseGet(&#39; q&#39;);

然后

value1应为&#34; 123&#34;。

答案 1 :(得分:0)

我认为你不能,但你可以在需要你的js文件之前声明所有param:

<script type="text/javascript">
    var q = 123;
    var parameter1 = 450;
    var parameter2 = 300;
  </script>
  <script src="http://example.com/embed.js"></script>

答案 2 :(得分:0)

您可以将参数放在<script>标记的属性中。

<script src="http://example.com/embed.js" q="123" parameter1="450" parameter2="300"></script>

您可以使用

embed.js中访问这些参数
document.currentScript.getAttribute('q');
document.currentScript.getAttribute('parameter1');
document.currentScript.getAttribute('parameter2');

注意:document.currentScript不适用于IE。

了解更多信息check this out

答案 3 :(得分:0)

如果在不等待文档加载的情况下请求script标记作为最后一个脚本标记,则可以访问它。

~function() {
  var s = document.querySelectorAll("script");
  s = s[s.length-1];
  console.log(s.src);
}();