簡體   English   中英

為什么我的jquery代碼在IE9中工作但在IE8中不工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM