因此,CMS 中的高级用户(设计师/Web 开发人员)可能有权在其内容中添加内联 JavaScript/jQuery 代码,以执行某些操作,例如在 CMS 的特定页面上隐藏某些内容,$(function(){ $('#banner').hide() });
以及其他更高级的操作,例如添加他们在内容中添加的输入上的 jQuery UI 日期选择器。
我的问题是,如果 jQuery 及其依赖的插件是通过 YepNope 异步加载的(或者我也假设为 RequireJS)......那么当登陆该页面时,它会出错,因为 jQuery 库不可用(直到几微秒后它是加载)。
在这样的现有网站中引入像 YepNope 这样的类加载器以允许此内联代码保持不变的最佳方法是什么?
我最好的猜测是,如果想要一个 CDN/回退,然后像 HTMLBoilerplate 一样同步加载它(或者如果不需要 CDN 回退,只需通过脚本标签正常加载):
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/jquery/jquery-ui/js/jquery-1.7.1.min.js"><\/script>')</script>
<!-- maybe load Jquery UI and Jquery plugins that i know users will use -->
然后只将 yepnope 加载器用于页面上不需要使用的其他内容?
或者你能做一些技巧来延迟内联脚本的执行,直到 yepnope 完成加载?