繁体   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