【发布时间】:2011-11-28 15:50:41
【问题描述】:
我想遵循将所有 JavaScript 放在页面最底部的一般准则,以加快加载时间,并解决一些与 Web 应用程序 (Django) 中的 jQuery 版本冲突的麻烦问题。
但是,我经常有一些代码,这些代码依赖于 jQuery,但必须在页面上更靠前(基本上不能将代码移到底部)。
我想知道是否有一种简单的方法来编写代码,这样即使尚未定义 jQuery,当定义 jQuery 时代码也可以工作。
我不得不说,以下似乎有点矫枉过正,但我不知道另一种方法:
function run_my_code($) {
// jquery-dependent code here
$("#foo").data('bar', true);
}
var t = null;
function jquery_ready() {
if (window.jQuery && window.jQuery.ui) {
run_my_code(window.jQuery);
} else {
t = window.setTimeout(jquery_ready, 100);
}
}
t = window.setTimeout(jquery_ready, 100);
实际上,我可能需要在一个页面中多次使用代码,这些代码不了解其他代码,因此除非我将每个 jquery_ready 重命名为 jquery_ready_guid、jquery_ready_otherguid 等等。
澄清
这很清楚,我将包含到 JavaScript (<script type="text/javascript" src="jquery.min.js" />) 放在页面的最底部,就在 </body> 之前。所以我不能使用$。
【问题讨论】:
标签: javascript jquery