考虑保存在 script.js 中的这个脚本:
if ((typeof window.jQuery) == "undefined") {
var js = document.createElement("script");
var he = document.getElementsByTagName('head')[0];
js.type = "text/javascript";
js.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js";
he.appendChild(js);
}
$('document').ready(function(){
alert('testing');
});
然后一个基本的html页面是这样的:
<html>
<head>
</head>
<body>
</body>
</html>
<script src=script.js></script>
这会导致错误:
ReferenceError: $ is not defined
script.js
第 8 行
为什么 $ 没有定义?首先是 if 之间的代码,然后是 code ready()
。这会在加载文档时将回调函数中的代码排队,对吗?
如果我查看 Firebug 中的代码,则 jQuery 已正确加载。之后会发生这种情况document.read
吗?还是我在这里错过的其他东西?