此問題是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