jQuery 1.8 Beta 2 发布
在 jQuery 中心,过去几周真是疯狂,先是 Beta 1 的发布,紧接着是旧金山举行的 jQuery 大会。别担心!在所有的旅行、会议、会谈和关于 jQuery 未来发展方向的博文中,我们实际上还是写了一些代码。作为证明,以下是 jQuery 1.8 Beta 2。
https://code.jqueryjs.cn/jquery-1.8b2.js
这是程序的关键部分,我们在此呼吁你,jQuery 社区,帮助我们完成这一目标。使用 Beta 2 在旧浏览器、新浏览器、红色浏览器和蓝色浏览器中进行测试。(分别指 IE6、Chrome Canary、Opera 和 Internet Explorer。)请用所有代码测试此文件,在所有模式下进行充分测试。Beta 2 中有什么问题吗?请现在告诉我们,在我们完成之前!
在那些测试过 Beta 1 的人的帮助下,我们发现了一些错误并修复了它们。我们不能过分强调在你使用这些 Beta 版本测试时,我们获取你的反馈有多么重要。我们不喜欢发布最终版本,然后在你将其添加到网页中时导致问题,而防止这种情况发生的办法是在 Beta 版本中进行测试,并在提前告知我们问题。
注意: 此版本需要与 jQuery UI 协同修复一些问题。因此,使用 jQuery UI 的页面需要包含最新的 UI 主版本,以针对 jQuery 1.8b2 进行测试。你可以从这里获取它:https://code.jqueryjs.cn/ui/jquery-ui-git.js。jQuery UI 1.8 将有一个维护版本,其中包含 jQuery 核心 1.8 支持,但鼓励用户在 jQuery UI 1.9 发布时更新到它。
如果你发现问题,请尝试将其简化为一个简单的测试用例。 jsFiddle 是我们首选的获取测试用例的方式,因为它允许我们调整测试用例、诊断问题并探索解决方案。(为框架选择jQuery (edge)
,即最新代码。)有了测试用例,请前往 错误跟踪器 并告诉我们发生了什么。谢谢!
除了在 Beta 1 中报告的错误修复外,这个新的 Beta 版本还对 Sizzle 引擎进行了 重大重写,以实现更好的性能。它修复了与 IE 6、7 和 8 相关的大量错误,并使这些浏览器使用起来更加一致。与老 IE 的完美兼容始终是一个难以实现的目标,但我们仍在努力使你的开发生活尽可能轻松,无论使用什么浏览器。
如果你按照 Github 上 README 文件 中的描述构建自己的自定义版本,你现在可以选择省略一些将在未来版本中删除的弃用功能。我们将随着我们隔离其他弃用功能而不断添加此文件。
以下是从 jQuery 1.7.2 开始的所有更改的完整列表。
jQuery 1.8b2 更改日志
1.8b2 版本的当前更改日志。
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() 状态
效果
- #8498:动画钩子
- #10006:当对文档片段调用方法 show 时,它在所有浏览器中的工作方式都不如预期
- #10848:动画切换在某些原子边缘情况下会丢失状态跟踪
- #11415:在 CSS 值不合法的情况下,静默忽略负值
- #11469:动画 (.animate) 中的负边距
事件
- #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:无法 off() 自定义事件 ($.event.special)
- #11021:悬停黑客会破坏名为“悬停”的命名空间
- #11076:.clone(true) 会丢失委托过滤器
- #11130:jQuery.fn.on:带有空选择器的绑定映射会忽略数据
- #11145:$(document).on() 不适用于 name="disabled"
操作
- #9427:将 undefined 传递给 .text() 不会触发 setter
- #10753:在 manipulation.js 中内联 evalScript 函数,因为它只使用过一次
- #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() 会抛出异常
所以是两个错别字,似乎是 -
“以下是自 jQuery 1.7.2 以来所有更改的完整列表。”将 1.7.2 替换为 1.8b1
(我在这里根本找不到 1.7.2 到 1.8 的更改,这就是我认为这是错别字的原因。)
“1.7.2rc1 版本的当前更改日志。”将 1.7.2rc1 替换为 1.8b2
@Buf.di -
插件的问题也可能是 1.8 的错误(如果它们在 1.7 中有效且不使用“curCSS”(只需将其更改为“css”)。
感谢你的工作!
确实,错误跟踪器应该改为 GitHub。
感谢你们的辛勤工作
我迫不及待地想要测试 Sizzle。没有什么比让好东西变得更好更令人兴奋的了。另外,感谢您修复了 IE 中的 Ajax 问题。谢谢
非常感谢发布新版本。我会确保我们进行彻底的测试 :)