此问题是another question of mine的后果。为什么这段代码不起作用(以及如何修复它)?
的代码是:
<script type='text/javascript'>
var scripts = [
"http://www.---.com/include/jquery-1.8.3.min.js",
"http://www.---.com/include/functions.js",
"http://www.---.com/include/myjs.js",
"http://www.---.com/include/plugins/bxslider/bxslider.js"
];
function downloadJSAtOnload() {
for(var i=0; i<scripts.length; i++) {
var element = document.createElement('script');
element.src = scripts[i];
document.body.appendChild(element);
}
$(document).ready(function(){
$('#mainslide .bxslider').bxSlider({
slideWidth: '960',
mode: 'vertical',
speed: '500',
captions: false,
pager: false,
controls: false,
nextText: 'Next',
prevText: 'Prev',
auto: true,
autoHover: true,
pause: 3000
});
});
}
if (window.addEventListener) window.addEventListener('load', downloadJSAtOnload, false);
else if (window.attachEvent) window.attachEvent('onload', downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
产生的误差为“未捕获的ReferenceError:$没有定义”。
奇怪的是,在许多浏览器和版本中,一切都很完美(幻灯片,灯箱......)。仅在IE8和Safari 4中向用户显示警报。
也许它们太慢了,以至于在脚本元素被创建到第一个$之前实际加载jquery文件呢?为什么不直接在脚本标签中声明它们呢? – 2013-04-11 12:50:21
你正在异步加载脚本......在执行'$'调用的时候,没有办法装载jQuery。 – 2013-04-11 12:50:49
在您尝试访问'$'时,脚本(包括jQuery)尚未加载。 – 2013-04-11 12:50:49