jQuery 1.7.2 即将发布!为了确保我们修复了投票为“最有可能惹人厌”的错误,并且没有引入任何新的错误,我们需要你的帮助来测试这个发布候选版本。你可以从 jQuery CDN 获取代码。
只需几分钟即可将这个最新文件导入并用你的代码测试。如果你有很多页面,下面列出的修复错误列表可能有助于你确定要测试哪些内容。当然,如果你报告了某个错误或者受到下面列出错误的影响,请重新测试以确保我们确实修复了它。我们在内部测试了它,针对当前版本的 jQuery UI 和 jQuery Mobile 进行测试。jQuery Mobile 1.1 RC1 中存在一个兼容性问题,该问题已修复,将在他们的下一个版本中解决。
想用最新的 jQuery 更轻松地测试你的网站吗?在 Windows 上,你可以使用优秀的 Fiddler 工具并创建一个 自动响应规则,将你对 jQuery 的 HTTP 脚本请求指向上面的文件位置。这样你就可以在你的 PC 上用最新的 jQuery 测试你的实时网站,而无需编辑任何文件!如果你知道其他平台上的类似工具,请在下面的评论中留言。
如果你对 IE6 支持特别感兴趣,请帮助我们。我们在 IE6 中运行单元测试时遇到间歇性问题。我们无法确定这些问题的原因,但问题并不总是发生,并且我们庞大的测试套件可能会让这个十多年历史的浏览器不堪重负。如果你在真实代码中观察到任何可重现的失败,请告知我们并尝试提供尽可能小的测试用例。
你可以使用 错误跟踪器 报告错误;请确保在 jsFiddle 上创建测试用例,这样我们才能轻松地找出问题。如果你不确定是否是错误,请在我们的 论坛 或 StackOverflow 上提问。请不要使用下面的博客评论来报告错误。
jQuery 1.7.2rc1 更改日志
以下是 1.7.2rc1 版本的当前更改日志。
Ajax
- #4624: default ajaxSettings.contentType 中的字符集
- #10978: jQuery.param() 应该允许非原生构造的对象作为属性值
- #11264: evalScript() 使用 ajaxSetup() 设置的默认值
- #11426: 在 IE 中请求 JPG 图片时 jQuery.ajax() 总是失败
属性
- #5571: 在 jQuery 中将 undefined 传递给任何 setter 时允许链式调用
- #10828: attr(“coords”) 在 IE7 中返回 undefined
- #10870: $.removeAttr(“selected”) 的行为不正确
- #11316: 首先考虑按元素类型查找 valHooks,然后按节点名称查找,而不是反过来
构建
- #10692: 配置 jshint 选项以更准确地匹配样式指南
- #10693: 将单元测试中“在 iframe 中测试某件事”的代码通用化
- #10901: 如果测试器从 file:// 运行或没有 PHP,则让单元测试失败
- #10902: 在单元测试中测试 jQuery 的构建版本的功能
- #10931: 单元测试不应该需要互联网访问
核心
- #10466: jQuery.param() 将包装后的基本类型误认为深层对象
Css
- #10639: outerWidth(true) 和 css(‘margin’) 在 Webkit 中返回 % 而不是 px
- #10754: 让 jQuery.swap 返回回调函数的返回值,而不仅仅是执行它
- #10782: 计算宽度不正确
- #10796: IE7 中 $(‘#el’).css.(‘background-position’) 的错误
- #10858: css.js 正则表达式不完整
- #11119: curCSS 函数只需要 2 个参数
数据
- #11309: 十六进制格式的 data-* 属性解析不正确
延迟
- #11306: 在 $.Callbacks 对象上调用 .disable() 或 .lock() 会破坏它的 fired() 状态
尺寸
- #3838: $(document).height() 在 IE6 中不正确
效果
- #8498: 动画钩子
- #10006: 当对文档片段调用方法 show 时,它在所有浏览器中的行为不符合预期
- #10848: 在某些原子边缘情况下,动画切换会丢失状态跟踪
- #11415: 在非法的情况下静默忽略负的 CSS 值
事件
- #8165: .live(‘click’, handler) 在 Chrome 中对包含子元素的禁用按钮触发
- #10819: 消除“this.on.call(this, “
- #10878: $(“select”).live(“change”, function(){ …在 jQuery 1.7 中 IE8 中已损坏
- #10961: IE6-9 中使用 jQuery 1.7.1 时 XRegExp 出现错误
- #10970: .on() 选择器参数不适用于 :not(:first) 选择器
- #10984: 无法关闭自定义事件 ($.event.special)
- #11021: 悬停黑客破坏了名为“hover”的命名空间
- #11076: .clone(true) 会丢失委托过滤器
- #11130: jQuery.fn.on: 使用空选择器的绑定映射会忽略数据
- #11145: $(document).on() 不适用于 name=”disabled”
操作
- #9427: 将 undefined 传递给 .text() 不会触发 setter
- #10753: 将 evalScript 函数内联到 manipulation.js 中,因为它只使用一次
- #10864: 文档片段上的 text() 方法总是返回空字符串
- #11055: 更新 HTML5 Shim 元素列表以支持最新的 html5shiv
- #11217: Webkit 中的附加问题
- #11291: 使用 HTML5 节点名称克隆 XMLDoc 在 IE 上会中断
- #11323: 类型为“text/ecmascript”的脚本标签会泄漏到 DOM 中
- #11356: safeFragment 内存泄漏
杂项
队列
- #10967: .promise() 不会将方法附加到目标
支持
- #7986: 如果页面具有 DIV-元素 CSS,则 $.support.boxModel 中存在错误
- #11048: 支持测试会影响 IE6-9 中定位元素的布局
- #11337: $.support.reliableMarginRight 中的错误
遍历
- #11370: $(‘<div>’).siblings() 会抛出异常