AJAX和JavaScript脚本加载器

时间:2016-06-23 19:26:40

标签: javascript php angularjs ajax

我想知道如何在通过AJAX加载页面后加载JavaScript文件? 问题是: 我有音乐播放器使用JS文件关于曲目的信息。 之后我加载页面所有的工作都很好。但是当我通过AJAX加载另一个页面时,我的脚本在我调用的页面上不起作用。

代码如下所示:

var obj = {
  key1: 'foo',
  key2: 'bar'
};
var keys = Object.keys(obj);
//keys === ['key1', 'key2'];

然后我使用angular-soundmanager2.js让玩家活着。 这段代码在链接到此页面后加载的页面不起作用

function showContent(link,link2) {
    var cont = document.getElementById('content');
    var loading = document.getElementById('loading');
    window.history.replaceState('', 'Title', link2);
    var http = createRequestObject();                   
    if( http ) {
        http.open('get', link);                         
        http.onreadystatechange = function () {         

            if(http.readyState == 4) {

                cont.innerHTML = http.responseText;     
            }
        }
        http.send(null);    
    } else {
        document.location = link;   
    }
}
function createRequestObject() {
    try { return new XMLHttpRequest() }
    catch(e) {
        try { return new ActiveXObject('Msxml2.XMLHTTP') }
        catch(e) {
            try { return new ActiveXObject('Microsoft.XMLHTTP') }
            catch(e) { return null; }
        }
    }
}

它必须向我显示播放列表。但我一无所获。

1 个答案:

答案 0 :(得分:0)

您必须使用javascript绑定DOM元素。在文档就绪时,你可以调用这样的东西,$('#someDiv')。makePlayer()。因此,页面加载它工作正常。但是当你制作ajax时,我想你正在用ajax替换那个页面内容。如果要再次删除并加载之前调用makeplayer()的DOM元素。在调用ajax之后,你必须再次调用makePlayer。