jQuery从1.8.3迁移到1.9.1停止在一行中工作,我不知道为什么

Seb*_*ian 3 javascript migration jquery jquery-1.8 jquery-1.9

我使用的是这段代码:

http://labs.abeautifulsite.net/archived/jquery-alerts/demo/
Run Code Online (Sandbox Code Playgroud)

它与jQuery 1.8.3一起运行良好.

现在我改为jQuery 1.9.1,它停止了工作

我的大多数其他代码都有问题,大部分我不得不改变.live for .on它已经解决了(我不知道这是否是正确的做法),但是使用这段代码,我找不到问题.

这条线似乎给出了问题:

// IE6 Fix
var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed';
Run Code Online (Sandbox Code Playgroud)

你可以在jsFiddle中测试它,你可以改为jQuery 1.8.3,看它是如何工作的.

http://jsfiddle.net/sebababi/P8sfn/1/

j08*_*691 6

$.browser 在jQuery 1.3中已弃用,在1.9中已删除.

http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed

您应该使用jQuery迁移插件来查看迁移到1.9x时的任何错误.此外,jQuery建议使用与Modernizr等库一起使用特征检测.


pal*_*aѕн 5

您可以使用jQuery Migrate插件并调用$.browser.它会工作!

使用插件很容易; 例如,只需在jQuery的脚本标记之后立即包含它.

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>
Run Code Online (Sandbox Code Playgroud)

JS:

$.each($.browser, function(i, val) {
  $("<div>" + i + " : <span>" + val + "</span>")
  .appendTo( document.body );
});
Run Code Online (Sandbox Code Playgroud)

DEMO HERE(请参阅左侧选中迁移1.1.0复选框)