Javascript 执行插入.innerHTML的src脚本
我在写博客。我有一个函数(showmusic,它使用json代码作为参数)来显示我的帖子,我这样调用它:Javascript 执行插入.innerHTML的src脚本,javascript,json,Javascript,Json,我在写博客。我有一个函数(showmusic,它使用json代码作为参数)来显示我的帖子,我这样调用它: <script src='/feeds/posts/default/-/Album/Pop?max-results=20&orderby=published&alt=json-in-script&callback=showmusic'></script> 这是不可能的,除非插入标记的脚本是在HTML中内联的,但是在这一点上,为什么不正常地将标
<script src='/feeds/posts/default/-/Album/Pop?max-results=20&orderby=published&alt=json-in-script&callback=showmusic'></script>
这是不可能的,除非插入标记的脚本是在HTML中内联的,但是在这一点上,为什么不正常地将标记插入其中呢 如果注入脚本作为引用加载,则不会执行注入脚本标记;当脚本运行以注入标记时,DOM已经加载,并且不会执行加载时不存在的任何脚本。请尝试:
function myFunction( label1, label2 ) {
var s = document.createElement( "script" );
s.type = "text/javascript";
s.async = true;
s.src = "/feeds/posts/default/-/" + label1 + label2 + "?max-results=20&orderby=published&alt=json-in-script&callback=showmusic";
document.getElementById( "my-container" ).appendChild( s );
}
我做了一个简单的测试。使用以下内容创建HTML页面:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function getJavascript() {
var s = document.createElement( "script" );
s.type = "text/javascript";
s.async = true;
s.src = "get_javascript.js";
document.getElementById( "javascriptHolder" ).appendChild( s );
}
</script>
</head>
<body>
<button type="button" onclick="getJavascript();">Get Javascript</button>
<div id="javascriptHolder"></div>
</body>
</html>
当我点击按钮时,所有操作都像一个符咒。你说的“使用.innerHTML执行相同的脚本”是什么意思?那么你想动态添加
标记吗?它已经起作用了吗?是否添加了标记但未执行?出于安全原因,这听起来像是绝对不允许的。“为此,我需要使用innerHTML插入该脚本,但该脚本不执行”innerHTML
不执行插入的脚本。所以这不是解决问题的方法。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function getJavascript() {
var s = document.createElement( "script" );
s.type = "text/javascript";
s.async = true;
s.src = "get_javascript.js";
document.getElementById( "javascriptHolder" ).appendChild( s );
}
</script>
</head>
<body>
<button type="button" onclick="getJavascript();">Get Javascript</button>
<div id="javascriptHolder"></div>
</body>
</html>
alert( 'I am from Javascript' );