0

因此,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 完成加载?

4

1 回答 1

1

实际上谷歌搜索好一点,我找到了我相信的答案: https ://stackoverflow.com/a/9582428/201156

这里还提到了延迟加载内联脚本的想法,这很有趣: https ://stackoverflow.com/a/10197342/201156

于 2013-07-31T18:54:33.517 回答