我有一個腳本,我試圖修改,以便我不加載jQuery庫,如果它已經存在。然而,我可以讓事情發揮作用的唯一方法是下面的示例1(明確加載jQuery庫)。當我嘗試有條件地加載它,滑塊不工作...當動態地包含jQuery時,腳本不起作用
示例#1 - 滑塊在這個例子中工作正常(但jQuery的可加載多次)
<head>
<script type='text/javascript' src='scripts/js/jquery-1.4.2.min.js'></script>
<script type='text/javascript' src='scripts/js/slider/jquery.slider.js'></script>
<script type='text/javascript'>
jQuery(document).ready(
function(){
jQuery('#accordion-1').slider({
autoStart:true,
slideInterval:5000,
slideNum:false
});
})
</script>
</head>
示例#2 - 試圖動態加載jQuery。滑塊不起作用。
<head>
<script type='text/javascript'>
if (typeof jQuery == 'undefined') {
// jQuery is not loaded => load it:
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
document.getElementsByTagName('body')[0].appendChild(script);
}
</script>
<script type='text/javascript' src='scripts/js/slider/jquery.slider.js'></script>
<script type='text/javascript'>
jQuery(document).ready(
function(){
jQuery('#accordion-1').slider({
autoStart:true,
slideInterval:5000,
slideNum:false
});
})
</script>
</head>
示例#3 - 這不工作,要麼...
<head>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write(unescape('%3Cscript src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"%3E%3C/script%3E'));
}
</script>
<script type='text/javascript' src='scripts/js/slider/jquery.slider.js'></script>
</head>
感謝Shankar,這很有道理。 –
我不認爲這是一個工作的答案,因爲據我所知,你不應該使用「script.onload」你應該真的使用script.addEventListener('load',initSlider,false);我很確定你正在尋找的readyState是'加載'而不是'完成'。此外,我們是不是在尋找返回readyState的數字值,在這種情況下,2代表'loaded',4代表'complete?'。 – Tomas