我有这个代码:
function init(){
if (typeof window.jQuery !== 'function') {
var link = document.createElement('script');
link.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(link);
}
}
window.onload = init;
if (typeof window.jQuery === 'function') {
$(document).ready(function(){
alert(1);
});
}
我正在尝试做的是在 jQuery 不存在的情况下将 jquery 脚本链接添加到头部,然后运行代码。最好的办法是尽快检查 jquery 是否存在于头部,然后添加指向源代码的链接。但我不知道如何实现?
更新:另一种方法是使用函数:
function init(){
if (typeof window.jQuery !== 'function') {
var link = document.createElement('script');
link.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(link);
start_code();
}
else{
start_code();
}
}
window.onload = init;
function start_code(){
$(document).ready(function(){
alert(1);
});
}
我基本上可以在加载所有内容后调用一个函数。但这并不奏效。因为 $ 未定义错误也被抛出
function init(){
if (typeof window.jQuery !== 'function') {
var link = document.createElement('script');
link.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(link);
}
}
或使用HTML5 boilerplate
方法
<script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.7.2.min.js"></script>')</script>
将此脚本放在页面底部(出于性能目的)。那么,如果你之前需要使用jQuery函数,看看这个资源就知道了:停止支付你的jQuery税
由于document.write
这里正在创建一个脚本块(这是同步的),您所要做的就是
<script>window.jQuery || document.write('<script src="/js/vendor/jquery-1.7.2.min.js"></script>')</script>
<script>
$(document).ready(function(){
alert(1);
});
</script>