在IE

时间:2016-01-11 16:42:44

标签: javascript php jquery html ajax

我有一个包含许多产品的网站,从列表中我有一个链接到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之外的每个浏览器中都能正常工作,其中我得到错误$ not defined或JQuery not defined。上面是详细的jquery代码.php

    <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>

2 个答案:

答案 0 :(得分:0)

看起来你的jQuery是未定义的,因为你引用了cdn,在某些版本的IE中它是一个安全问题。我建议下载jquery并在本地引用它,看看是否能解决你的问题。

答案 1 :(得分:0)

只要您有$ is not defined,就不会加载正在使用的库。这可能是由IE引起的,但我也看到你正在使用"window.onload",这通常是&#34;通常&#34;当触发javascript时,一个坏主意(特别是IE)。

我的猜测是window.onload表现不同,可能会重新加载window。这可能是为什么不再定义$并且库无法加载的原因。要记住的事情。