首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yepnope的完全回调问题

yepnope的完全回调问题
EN

Stack Overflow用户
提问于 2011-09-08 07:54:49
回答 2查看 1.8K关注 0票数 3

我使用的是一个“2步视图”,其中我有一个布局模板(对于所有页面来说都是如此),带有jQuery和一些插件的yepnope的加载(在html头中)。类似于:

代码语言:javascript
复制
yepnope(['/path/to/jquery.js', '/path/to/jquery.plugin-common.js']);

有时,我需要另一个插件,所以在内部模板中,我做了额外的(在html正文中):

代码语言:javascript
复制
yepnope('/path/to/jquery.plugin-additional.js');

现在我需要执行实际的js魔术,我可以安全地执行以下操作吗?

代码语言:javascript
复制
yepnope({
    complete: function(){...}
});

所以,问题其实有两个:

  1. 全局资源堆栈的加载完成后是否会触发完全回调?因此,假设所有需要的资源都已经注册过,那么在任何地方“注册”这个完整的回调都是安全的吗?
  2. 我能用“完全”回调选项安全地打电话给yepnope吗?我的意思是,只要我没有“测试”任何东西和我的资源已经注册..。

我试过了,但我并不完全意识到它是否是内部的,所以我只想确保我没有做错什么.提前谢谢。

--

最后一件事。手册预加载下!说:

代码语言:javascript
复制
yepnope({
    load: 'preload!jquery.1.5.0.js',
    callback: function (url, result, key) {
        window.jQuery; // undefined (but it's cached!);
    }
});

你能解释一下这是怎么回事吗?我完全忽略了这一点..。

EN

回答 2

Stack Overflow用户

发布于 2012-02-13 22:45:09

我可以帮你做预紧!有个问题。预加载的想法!是yepnope将下载该文件,但不会执行它。它传输jQuery文件,但是在调用回调之后,它仍然未定义,因为它没有作为脚本注入到页面中。

票数 2
EN

Stack Overflow用户

发布于 2012-07-18 15:55:18

在我看来,你做错了。我很惊讶它能工作,但也许您的脚本是在调用“完全”函数之前加载的。我觉得你应该这么做:

代码语言:javascript
复制
yepnope({
    load: ['/path/to/jquery.js', '/path/to/jquery.plugin-common.js']
    callback: {
        "jquery.js": function () {
            console.log("jquery loaded!");
        },
        "jquery.plugin-common.js": function () {
            console.log("plugin loaded!");
        }
    }
});

对于html正文中的附加插件:

代码语言:javascript
复制
yepnope({
    load: '/path/to/jquery.plugin-additional.js'
    callback: function () {
        $(document).ready(function(){
            console.log("plugin-additional loaded!");
        });
    }
});

当然,用您可以在这个上下文中安全执行的每个插件相关的代码替换console.log()

对于最后一个问题,我什么也不能说,因为我没有成功地做预加载!工作,也许是马车,也许我不明白它是怎么工作的.

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

https://stackoverflow.com/questions/7344843

复制
相关文章

相似问题

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