我想知道如何在通过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; }
}
}
}
它必须向我显示播放列表。但我一无所获。
答案 0 :(得分:0)
您必须使用javascript绑定DOM元素。在文档就绪时,你可以调用这样的东西,$('#someDiv')。makePlayer()。因此,页面加载它工作正常。但是当你制作ajax时,我想你正在用ajax替换那个页面内容。如果要再次删除并加载之前调用makeplayer()的DOM元素。在调用ajax之后,你必须再次调用makePlayer。