首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向页面注入带有回调的脚本

向页面注入带有回调的脚本
EN

Stack Overflow用户
提问于 2012-10-06 09:12:41
回答 1查看 1.2K关注 0票数 1

我试图将yepnope.js注入页面,然后用yepnope加载其他JS文件。

的网络选项卡显示是取回的,元素选项卡显示元素被注入。但是console选项卡显示:

代码语言:javascript
复制
Uncaught ReferenceError: yepnope is not defined

这是我的代码:

代码语言:javascript
复制
var betaApp = {


    injectYepnope: function(url) {
        var gp = document.createElement( 'script' );
        gp.type = 'text/javascript';
        gp.async = true;
        gp.src = url;

        gp.onload = betaApp.yepnopeLoaded;
        // Only for IE 6 and 7
        gp.onreadystatechange = function()
        {
            if( this.readyState == 'complete' )
            {
                betaApp.yepnopeLoaded();
            }
        }

        document.body.appendChild(gp);
    },

    yepnopeLoaded: function() {
        yepnope([
            {
                load: ['//cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js', 'http://raw.github.com/andris9/jStorage/master/jstorage.js'],
                complete: function() {
                    betaApp.firstPartLoaded();
                }
            },
            {
                load: [
                    'http://code.jquery.com/jquery-1.8.2.min.js',
                    'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js',
                    'https://raw.github.com/Automattic/Iris/master/dist/iris.js',
                    'https://raw.github.com/cnkt/eksi-beta/master/ui/js/twitter-bootstrap/js/bootstrap-modal.js',
                    'https://raw.github.com/Automattic/Iris/master/src/iris.min.css'
                ],
                complete: function() {
                    betaApp.allJsLoaded();
                }
            }
        ]);
    }
};

betaApp.injectYepnope('https://raw.github.com/cnkt/eksi-beta/master/ui/js/yepnope.js');

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-10-06 09:51:55

您的代码本身很好,但是您需要确保在DOM准备好之后调用它,否则它无法将脚本追加到文档中。

或者使用库onReady事件(例如JQuery.ready()) --如果代码必须在外部文件中,那么您唯一的选择,或者直接将脚本添加到文档的末尾。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12758375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档