[英]Why my jquery code works in IE9 but not in IE8?
<script>
$(document).ready(function() {
$("#various2").fancybox({
'width': 800,
'height': 570,
'type':'iframe'
});
});
</script>
我在IE8和7中遇到錯誤但在IE9中沒有
對象不支持屬性或方法'fancybox'
和錯誤是在這一行
$("#various2").fancybox({
我的腳本在</body>
之前位於底部
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" defer="defer"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.5.1.min.js"%3E%3C/script%3E'))</script>
<script src="js/plugins.js" defer="defer"></script>
<script>
$(document).ready(function() {
$("#various2").fancybox({
'width': 800,
'height': 570,
'type':'iframe'
});
});
</script>
您正在使用defer
了jQuery庫,這意味着它可能不會得到jQuery代碼本身之前加載。
由於您的腳本位於</body>
之前的頁面底部,因此無需延遲加載它們,因為頁面的其余部分已經加載。
內聯腳本標記不支持defer
,因此一旦遇到它們將始終執行。 由於您的外部腳本已defer
,因此將來會在某個任意點加載。 因此,您的內聯腳本將(幾乎)始終在外部腳本下載並運行之前執行。
我想,你應該調試defer =“defer”部分。 不同的IE版本可能以不同的方式解釋它,導致在解析主體腳本之后解析js libs。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.