首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用可能包含document.write的源动态添加脚本标记

使用可能包含document.write的源动态添加脚本标记
EN

Stack Overflow用户
提问于 2012-10-29 20:47:51
回答 14查看 303.2K关注 0票数 194

我想在网页中动态包含一个脚本标签,但是我无法控制它的src,所以src="source.js“可能看起来像这样。

代码语言:javascript
复制
document.write('<script type="text/javascript">')
document.write('alert("hello world")')
document.write('</script>')
document.write('<p>goodbye world</p>')

现在通常放在

代码语言:javascript
复制
<script type="text/javascript" src="source.js"></script>

在头部中可以很好地工作,但是有没有其他方法可以使用像innerHTML这样的东西动态添加source.js

jsfiddle of what i've tried

EN

回答 14

Stack Overflow用户

发布于 2012-10-29 20:51:29

代码语言:javascript
复制
var my_awesome_script = document.createElement('script');

my_awesome_script.setAttribute('src','http://example.com/site.js');

document.head.appendChild(my_awesome_script);
票数 253
EN

Stack Overflow用户

发布于 2012-10-29 20:51:31

您可以像这样使用document.createElement()函数:

代码语言:javascript
复制
function addScript( src ) {
  var s = document.createElement( 'script' );
  s.setAttribute( 'src', src );
  document.body.appendChild( s );
}
票数 112
EN

Stack Overflow用户

发布于 2014-12-14 18:41:05

有一个onload函数,可以在脚本成功加载后调用:

代码语言:javascript
复制
function addScript( src, callback ) {
  var s = document.createElement( 'script' );
  s.setAttribute( 'src', src );
  s.onload=callback;
  document.body.appendChild( s );
}
票数 84
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13121948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档