簡體   English   中英

IE中Ajax加載的JQuery問題

[英]Ajax-loaded JQuery issue in IE

我有一個網站上有很多產品,在清單中有一個指向fancybox的鏈接,該鏈接打開了該產品的完整詳細信息(detail.php文件)

<a class="fancy fancy'.$_GET['type'].'" href="detail.php?id='.$equip[$c]['equipId'].'">'.$equip[$c]['equipment'].'</a>

問題是我在detail.php中有一些jquery腳本,它在除Internet Explorer之外的所有瀏覽器中都能正常工作,在該瀏覽器中我得到未定義的錯誤$或未定義的JQuery。 上面是detail.php的jQuery代碼

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script type="text/javascript" src="js/vendor/jquery-1.10.1.min.js"><\/script>')</script>


    <script type="text/javascript" src="Resources/Script/jquery.imageLens.js"></script>
            <script type="text/javascript" src="Resources/Script/jquery.nicescroll.js"></script>
        <script>
        window.onload = function(){

            $("#<?php  echo $_GET['id'];?>").imageLens({borderSize: 4, borderColor: "#FFF",lensSize: 200,imageSrc: "<?php  echo "Resources/Image/equipamiento".$row['link'];?>_B.jpg"});
            $(".niceScroll").niceScroll({cursorborderradius:"0px",cursorwidth:4,cursoropacitymin:0.5,cursoropacitymax:0.7,background:"#c9c9c9"});
        }
        $("#catDesc<?php  echo $_GET['id'];?>").click(function(){
            if(!$("#catDesc<?php  echo $_GET['id'];?>").hasClass("active"))
            {
                $("#tech<?php  echo $_GET['id'];?>").fadeOut('fast',function(){
                    $("#desc<?php  echo $_GET['id'];?>").fadeIn('fast')
                    $("#catDesc<?php  echo $_GET['id'];?>").addClass("active")
                    $("#catTech<?php  echo $_GET['id'];?>").removeClass("active")
                })
            }
        })
        $("#catTech<?php  echo $_GET['id'];?>").click(function(){
            if(!$("#catTech<?php  echo $_GET['id'];?>").hasClass("active"))
            {
                $("#desc<?php  echo $_GET['id'];?>").fadeOut('fast',function(){
                    $("#tech<?php  echo $_GET['id'];?>").fadeIn('fast')
                    $("#catTech<?php  echo $_GET['id'];?>").addClass("active")
                    $("#catDesc<?php  echo $_GET['id'];?>").removeClass("active")
                })
            }
        })
        </script>

看起來您的jQuery是未定義的,因為您引用的是CDN,並且在某些版本的IE中這是一個安全問題。 我建議下載jquery並在本地引用它,看看是否可以解決您的問題。

只要$ is not defined ,就不會加載正在使用的庫。 那可能是由IE引起的,但我也看到您使用的是"window.onload" ,這在觸發javascript時“通常”是個壞主意(尤其是IE)。

我的猜測是window.onload行為有所不同,並且可能會重新加載window 這可能就是為什么$不再定義且庫無法加載的原因。 要記住的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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