zoukankan      html  css  js  c++  java
  • 发现并认为这是jQuery1.4.4的一个Bug

    说起来还觉得丢人,公司的系统开发了两年,目前jquery的版本还是用的1.4.4。

    mantis上的Bug一堆,今天在改bug的时候发现一个jQuery的Bug。

    改bug嘛,一开始总是各种调试,总感觉怪怪的。经过各种分析和猜想后,最后问题归结到jquery.data函数。于是做了个实验。
    先写了一个简单的页面:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    <html>
    
    <head>
    
        <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
    
        <script type="text/javascript">
    
        $(function(){
    
            $("#box").text("hello jquery");
    
        });
    
        </script>
    
    </head>
    
    <body>
    
        <div id="box"></div>
    
    </body>
    
    </html>

    接着我在控制台执行:

    结果却返回了一个function。
    但执行:

    返回undefined。

    然后又是各种猜想和测试,发现执行jquery的内部函数名称的参数时,这些内部函数名都会返回函数体。

    $.data($("abc"),"css")
    $.data($("abc"),"data")
    $.data($("abc"),"text")

    我觉得这是个jQuery1.4.4的bug。所以我又试了下最新版本的jQuery1.10.2 。
    在最新版本下,返回的就都是undefined了。即我所认为的正常返回结果。

    接着我建议升级jQuery的版本,但经理说,升级会有风险,因为有些接口在高版本里用法改掉了。
    没办法,确实有这问题。但早干嘛了。目前只能先尽量避免使用这些特殊的名称了。1.4.4应该还存有很多Bug。这次只需要改掉几个命名就行了。但下次还不知道有怎样的奇葩问题。

  • 相关阅读:
    Keepalived安装使用详解
    Django缓存使用方法
    Django常用命令及参数配置(Django 1.8.6)
    Python之Rpyc模块
    Hadoop:实战Web日志分析
    Hadoop:使用Mrjob框架编写MapReduce
    Hadoop:使用原生python编写MapReduce
    Hadoop安装
    LGOJP1850 换教室
    BZOJ4318: OSU!
  • 原文地址:https://www.cnblogs.com/shijiaqi1066/p/3441510.html
Copyright © 2011-2022 走看看