簡體   English   中英

AJAX和JavaScript腳本加載器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM