加载jquery两次导致错误?

前端之家收集整理的这篇文章主要介绍了加载jquery两次导致错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个页面,其中正在加载 jquery其他js:
<script src="/eiv/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="/eiv/javascripts/jquery.jeditable.js" type="text/javascript"></script>
<script src="/eiv/javascripts/jquery-ui-1.7.1.custom.min.js" type="text/javascript"></script>
<script src="/eiv/javascripts/corner.js" type="text/javascript"></script>
<script src="/eiv/javascripts/jquery.form.js" type="text/javascript"></script>
<script src="/eiv/javascripts/validationdate.js" type="text/javascript"></script>

我正在加载标签如下:

<%if (tabnum == 1) {%>
        <script type="text/javascript">

            $(document).ready(function(){
                $("#tabs").tabs();
                $("#tabs ul li a").corner('7px top');

               var $tabs = $('#tabs').tabs();
                $tabs.tabs('select',0);
                dateValidation();
                changeOption();
                deleteConfirmation();
        });
        </script>
<%} else if (tabnum==2) {%>
        <script type="text/javascript">

            $(document).ready(function(){
                $("#tabs").tabs();
                $("#tabs ul li a").corner('7px top');

               var $tabs = $('#tabs').tabs();
                $tabs.tabs('select',1);

                   changeOption();
                   deleteConfirmation();
        });
        </script>
<%}%>

validationdate.js是我自己构建的js,用于检查日期和其他内容.它将此作为第一行:

document.write('<script type="text/javascript" src=""jquery-1.3.2.min.js""></script>');

问题:
这是生产中的时间..这个页面出错并给出JS错误.这会导致标签不可点击.这个错误间歇性地发生,我似乎无法在我的机器上重现它.两台机器都使用IE浏览器.错误也发生在Firefox中,虽然在Firefox中没有出现小的JS错误.我甚至还有一个没有显示任何JS错误的firebug.

我怀疑错误即将发生,因为validationdate.js也在加载jquery-1.3.2.min.js.这可能是一个错误吗?

顺便说一句,我得到的JS错误是’异常被抓住但没有被抛出..线23’和第23行正在跟随

<script src="/eiv/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script>

我真的没有选择,我愿意尝试一下.以及在我的机器上重现的方法,以便我可以解决它!

解决方法

首先回答你的问题,是的,包括jQuery两次可能导致各种问题.

要修复它,这一行:

document.write('<script type="text/javascript" src=""jquery-1.3.2.min.js""></script>');

应该包装以检查jQuery是否已经存在而不是盲目地再次包含它,如下所示:

if (typeof jQuery == 'undefined') {  
  document.write('<script type="text/javascript" src=""jquery-1.3.2.min.js""></script>');
}

然后,如果jQuery尚未在页面上,它将仅包含它.有一点需要注意,如果你使用的是jQuery的不同(可能更新)版本而不是验证代码的构建,那么有可能会有一些中断.

猜你在找的jQuery相关文章