[英]AJAX and JavaScript script loader
我想知道在通過AJAX加載頁面后如何加載JavaScript文件嗎? 問題是:我有一個音樂播放器,它使用有關軌道的JS文件和信息。 之后,我加載頁面所有工作正常。 但是,當我通過AJAX加載另一個頁面時,我的腳本在我調用的頁面上不起作用。
代碼如下:
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; }
}
}
}
然后,我使用angular-soundmanager2.js使播放器存活。 並且此段代碼在鏈接到此頁面后加載的頁面上不起作用
<h5>Songs</h5>
<ul>
<li ng-repeat="song in songs">
<button music-player="play" add-song="song">{{ song.title }}</button>
<button music-player add-song="song">+</button>
</li>
</ul>
<button play-all="songs">Play all</button>
<button play-all="songs" data-play="false">Add all</button>
它必須顯示我的播放列表。 但是我什么也沒得到。
您必須使用javascript綁定DOM元素。 准備好文檔后,您可以調用$('#someDiv')。makePlayer()之類的東西。 因此,頁面加載可以正常工作。 但是當您制作ajax時,我想您正在替換ajax上的頁面內容。 如果您要刪除並再次加載DOM元素,而您之前在該元素上調用了makeplayer()。 您必須在ajax調用后再次調用makePlayer東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.