小弟不才,想讨要个js方法,判断某js文件(如jquery)是否已加载。如果未加载成功,则持续等待直至成功 20

直至成功后方执行后续代码。... 直至成功后方执行后续代码。 展开
 我来答
冷心Presence
2013-06-28 · TA获得超过127个赞
知道答主
回答量:49
采纳率:0%
帮助的人:37万
展开全部
楼主不用判断了,只要它加载完运行到你判断的地方时 就代表加载完了,加载不完他也运行不到你那
直接写你的代码就好,引入文件是按顺序加载的,这也是我们常把引入的Jquery文件丢在页面下方使他不影响页面显示内容的原因。
如果担心使用时他还没加载,那么你就把加载文件的位置丢在页面头部就好了
追问
小弟是故意把所有的js包都放在body底部的,以提高页面的相应速度,但是中间有一部分是include进去的,并且这部分使用的一个第三方js库依赖jquery,考虑到封装性又不想把include页面的js挪到外面,因此,想在include页面的js代码块前等待jquery加载完毕,后执行自己的东西
小弟是故意把所有的js包都放在body底部的,以提高页面的相应速度,但是中间有一部分是include进去的,并且这部分使用的一个第三方js库依赖jquery,考虑到封装性又不想把include页面的js挪到外面,因此,想在include页面的js代码块前等待jquery加载完毕,后执行自己的东西
newdot
推荐于2018-04-11 · TA获得超过453个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:262万
展开全部
function loadScript(path, callback) {

    var done = false;
    var scr = document.createElement('script');

    scr.onload = handleLoad;
    scr.onreadystatechange = handleReadyStateChange;
    scr.onerror = handleError;
    scr.src = path;

    function handleLoad() {
        if (!done) {
            done = true;
            callback(path, "ok");
        }
    }

    function handleReadyStateChange() {
        var state;

        if (!done) {
            state = scr.readyState;
            if (state === "complete") {
                handleLoad();
            }
        }
    }
    function handleError() {
        if (!done) {
            done = true;
            callback(path, "error");
        }
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhniaold
2013-06-28 · TA获得超过292个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:223万
展开全部

这个,只能用各JS已经有的FUNCTION来判断了

如jquery,可以用if (jQuery) {}来判断,还可以用

<script>
    $(document).ready(
        function() {
            alert('页面元素全部加载完成');
        }
    );
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式