javascript - 执行插入 .innerHTML 的 src 脚本

标签 javascript json

我正在开发 Blogger。我有一个函数(showmusic,它接受 json 代码作为参数)来显示我的帖子,我这样调用它:

<script src='/feeds/posts/default/-/Album/Pop?max-results=20&orderby=published&alt=json-in-script&callback=showmusic'></script>

我正在寻找一种使用 <select> 更改标签(“专辑”和“流行音乐”)的方法标签,为此我需要使用innerHTML插入该脚本,但该脚本不执行:

function myFunction(label1,label2) {
  var label1 += "/";
  var label2 += "/";
  var script = "\x3Cscript src='/feeds/posts/default/-/"+label1+label2+"?max-results=20&amp;orderby=published&amp;alt=json-in-script&amp;callback=showmusic'>\x3C/script>"
  document.getElementById("my-container").innerHTML = script;
}

最佳答案

尝试一下:

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&amp;orderby=published&amp;alt=json-in-script&amp;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>  

并使用以下文件get_javascript.js:

alert( 'I am from Javascript' );  

当我点击按钮时,一切都像魅力一样。

关于javascript - 执行插入 .innerHTML 的 src 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097675/

相关文章:

javascript - AWS Lambda SNS 目标在失败或成功时不起作用

javascript - 来自 geoJSON 的 Google map 航点

java - JSON: "Unexpected character (<) at position 0"

javascript - 如何从json中获取数据并将其保存到数据库中?

javascript - 如何将 "hhmmss"格式的数字转换为时间格式hh :mm:ss using javascript?

javascript - 在 onsenui 中使用 Angular.JS 时控件不可见

javascript - 在 Virtualbox 托管的 Ubuntu 中通过 Robomongo 访问 mongodb

javascript - 如果对象的元素是数组,如何删除该元素?

java - 当我尝试将我的 JSON 解析为 ListView 时,我收到“未找到资源”异常?

javascript - 由于大小,Web 控制台不显示字符串