jQuery更新到时,我收到了以下错误v3.0.0
。
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
知道为什么吗?
jQuery更新到时,我收到了以下错误v3.0.0
。
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
知道为什么吗?
Answers:
更新所有调用load
函数的代码,例如,
$(window).load(function() { ... });
至
$(window).on('load', function() { ... });
jquery.js:9612未捕获的TypeError:url.indexOf不是函数
此错误消息来自jQuery.fn.load
功能。
我在应用程序中遇到了相同的问题。经过一番挖掘之后,我在jQuery博客中找到了该语句,
.load,.unload和.error,因为jQuery的1.8过时,没有更多的。使用.on()注册侦听器。
我只是简单地改变我的jQuery对象如何调用上述load
函数。一切都按预期进行。
document.ready
功能上使用了它,它的工作就像一个魅力。
更好的方法可能是这样的polyfill
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
这样您就可以保持原有代码不变。如果您使用webpack,请确保使用脚本加载器。
jQuery 3.0进行了一些重大更改,这些更改由于冲突而删除了某些方法。您的错误很可能是由于这些更改之一,例如删除了.load()事件。
阅读《jQuery Core 3.0升级指南》中的更多内容。
要解决此问题,您需要重写代码以与Jquery 3.0兼容,否则您可以使用JQuery Migrate插件来恢复已弃用和/或删除的API和行为。
更新到最新版本的JQuery之后,我遇到了相同的错误。因此,如先前的回答所述,我更新了正在处理的jquery文件,因此它表示.on("load")
而不是.load()
。
此修复不是很稳定,有时对我不起作用。因此,要解决此问题,您应该从以下位置更新代码:
.load();
至
.trigger("load");
我从以下来源获得此修复程序:https : //github.com/stevenwanderski/bxslider-4/pull/1024