使用jQuery Address而不使用jquery-migrate

时间:2017-10-30 21:38:54

标签: jquery jquery-address jquery-migrate

我将jQuery从1.3.1升级到3.2.1。在这个过程中,我使用了jquery-migrate-1.4.1.js。当我删除jquery-migrate-1.4.1.js时,页面停止正常工作,直到我也删除了jquery.address-1.5.min.js。我需要jquery-migrate-1.4.1.js的唯一原因是因为jquery.address-1.5.min.js使用了弃用的代码。否则,我将能够摆脱jquery-migrate-1.4.1.js,因为我的所有代码和插件现在都与jQuery 3.2.1兼容。我正在阅读https://github.com/asual/jquery-address/issues/159,报告的问题是“在升级到jQuery 1.9之后,jQuery Address停止工作”。这个人报告说,当使用jquery-migrate时,事情会再次起作用,但会有一些警告:

JQMIGRATE: jQuery.browser is deprecated jquery-migrate-1.0.0.js:29
JQMIGRATE: AJAX events should be attached to document: ajaxComplete jquery-migrate-1.0.0.js:29
JQMIGRATE: jQuery.fn.live() is deprecated jquery-migrate-1.0.0.js:29

我使用的是jquery.address-1.5.min.js,这是http://www.asual.com/jquery/address/提供的最新版本,但它仍然与jQuery 3.2.1不兼容。在我的例子中它需要jquery-migrate-1.4.1.js,因为jquery.address-1.5.min.js包含不推荐使用的jQuery代码。

如何在没有jquery-migrate的情况下使用jQuery Address?我想我必须修改原始的jquery.address-1.5.min.js并用现代的jQuery等价替换遗留代码。太糟糕了,jquery.address-1.5.min.js不提供更新的版本。 jQuery Address Plugin v1.5是2012-08-17 16:32:52 -0700(2012年8月17日星期五)。感谢。

2 个答案:

答案 0 :(得分:1)

根据github上的项目信息,最新版本为1.6,其中添加了"支持jQuery 1.9" 。所以它应该解决你从issue 159引用的问题,这与jQuery 1.9的兼容性问题特别相关

我发现您也可以从cdnjs.com访问jQuery地址版本1.6。

答案 1 :(得分:0)

解决方案来自于trincot写给问题的评论。我一直认为jQuery Address 1.5是最新版本,因为这是他们在http://www.asual.com/jquery/address/所拥有的。 1.5作为唯一可供下载的版本出现,我无法在任何地方找到1.6版本。为什么他们只有https://github.com/asual/jquery-addresshttps://cdnjs.com/libraries/jquery.address的版本1.6,而不是http://www.asual.com/jquery/address/插件的官方页面?或者http://www.asual.com/jquery/address/可能不是该插件的官方页面?

我打算将这个问题标记为已解决,因为通过使用jQuery Address 1.6,我不再需要jquery-migrate-1.4.1.js了,所以这个问题已经得到了令人满意的回答。但是,我仍然认为jQuery 1.6应该可以从http://www.asual.com/jquery/address/获得,以避免混淆,或删除该链接并重定向到插件的官方网站,以防http://www.asual.com/jquery/address/不是官方网站。 / p>