一旦更新到jQuery,我就会收到jQuery的错误v3.0.0.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
任何想法为什么?
vad*_*lim 498
更新调用load函数的所有代码,
$(window).load(function() { ... });
Run Code Online (Sandbox Code Playgroud)
至
$(window).on('load', function() { ... });
Run Code Online (Sandbox Code Playgroud)
jquery.js:9612 Uncaught TypeError:url.indexOf不是函数
此错误消息来自jQuery.fn.load功能.
我在申请时遇到了同样的问题.经过一番挖掘,我在jQuery博客中发现了这个声明,
.load,.unload和.error,因为jQuery的1.8过时,没有更多的.使用.on()注册监听器.
我只是改变我的jQuery对象load如上所述调用函数的方式.一切都按预期工作.
小智 23
更好的方法可能是像这样的polyfill
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Run Code Online (Sandbox Code Playgroud)
有了这个,您可以保持遗留代码不变.如果您使用webpack,请务必使用script-loader.
F3C*_*3CP 15
Jquery 3.0有一些重大更改,删除了由于冲突导致的某些方法.您的错误很可能是由于其中一个更改,例如删除了.load()事件.
要解决此问题,您需要重写代码以与Jquery 3.0兼容,否则您可以使用JQuery Migrate插件来恢复已弃用和/或删除的API和行为.
小智 6
更新到最新版本的 JQuery 后,我遇到了同样的错误。因此,我更新了我正在处理的 jquery 文件,如前面的答案中所述,所以它说.on("load")而不是.load().
这个修复不是很稳定,有时对我不起作用。因此,要解决此问题,您应该从以下位置更新代码:
.load();
Run Code Online (Sandbox Code Playgroud)
到
.trigger("load");
Run Code Online (Sandbox Code Playgroud)
我从以下来源得到了此修复:https://github.com/stevenwanderski/bxslider-4/pull/1024