javascript - 如何有效地将 yepnope.js 与 $(document).ready() 一起使用?

标签 javascript jquery document-ready yepnope asynchronous-loader

我一直在实现 yepnope 脚本加载器作为 modernizr.js 库的一部分。之后我已经成功地加载了 jQuery 和依赖于 jQuery 的脚本。我是异步加载资源的新手,所以对我来说有点陌生。我一直在四处寻找,但在以下方面运气不佳。

我的问题是,在使用 yepnope.js 框架时,您对如何有效地替换 $(document).ready() 的功能有何看法。

我的理论是在我的基础库中创建一个适当命名的函数,然后在我的页面上将该变量设置为一个包含我现有的 $(document).ready() 代码的匿名函数。在完整回调中加载所有脚本后,yepnope 将调用此变量。

您是否同意这是一种很好的做法,还是我的做法完全错误?

(对于那些不知道的人,yepnope.js 的异步性质意味着文档在 yepnope 加载器完成之前调用 $ 或 jQuery,抛出“$ is undefined”错误 <- 如果错误请纠正我。)

第一个问题,希望是个好问题。

最佳答案

如果不使用 yepnope 加载 jQuery 对您来说不是问题,那么还有更简单的方法。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>
    $.holdReady(true);

    yepnope.load({
        load: [
            'placeholder.js',
            'jquery-ui.min.js'
        ],
        complete: function (){
            $.holdReady(false);
        }
    });
</script>

关于javascript - 如何有效地将 yepnope.js 与 $(document).ready() 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5668311/

相关文章:

javascript - jquery 注册表单,如果语句不起作用,则发送电子邮件

javascript - Android--Webview,输入框翻倍?

javascript - 如何使用 lodash 用 1 个 throttle 来控制多个按钮?

javascript - 未终止的字符串文字 jquery 或更多

css - 将 div 的内容移动到代码底部

jquery - "$(document).ready"函数的替代方案

javascript - 让 ESLint 忽略未使用的 Angular $log 变量

javascript - 如何使用 jQuery 对注入(inject)的 ajax 表单进行多次验证?

php - 使用ajax单击提交后关闭显示模式对话框

javascript - browserify 和文档准备好了吗?