我对javascript还是陌生,但是我设法将不同的代码段和论坛帖子中的以下内容组合在一起:

var s = document.createElement("script");
s.src = "http://service.somewebsite.com/?api-key=4P1k3y5R4w50m3";
document.getElementsByTagName("body")[0].appendChild(s);

但是-它不起作用。

来源属性显然不是真实的(该服务要求我不要共享API密钥),但是将实际的属性粘贴到浏览器中后,我得到了想要的脚本-具有正确的回调和所有功能。

我觉得奇怪的是,由于非常相似,此代码无法正常工作

var i = document.createElement("img");
i.src = "http://i.imgur.com/TsCGbsy.jpg";
document.getElementsByTagName("body")[0].appendChild(i);

...当它代替它时,执行得很好。 关于更改脚本元素的来源,我是否不知道,还是我忽略了其他事情?

附带说明:我想最终使“ s.src”依赖于某些变量,例如方法,api-key等(这就是为什么我这样定义它的原因)。 如果有人对此有其他优雅的解决方案,我也将不胜感激。 也欢迎语法方面的任何提示。

在此先感谢您提供的任何帮助!

编辑:我可能应该提到我正在尝试从包含包装在回调函数中的JSON对象的源执行代码。 链接本身工作正常,并且在使用时可以正确执行该功能

<script src = "http://service.somewebsite.com/?api-key=
k3y&callback=myFunction">
</script>

我基本上是在尝试做同样的事情,只是用字符串和一个或多个变量将(src)缝合在一起。

===============>>#1 票数:1

尝试使用setAttribute:

var s = document.createElement('script');
s.setAttribute("type","text/javascript");
s.setAttribute("src", "http://service.somewebsite.com/?api-key=4P1k3y5R4w50m3");

  ask by NilsRungholm translate from so

未解决问题?本站智能推荐: