Estou recebendo o seguinte erro do jQuery depois que ele foi atualizado para v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Alguma idéia do porquê?
Estou recebendo o seguinte erro do jQuery depois que ele foi atualizado para v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Alguma idéia do porquê?
Respostas:
Atualize todo o seu código que chama load
função como,
$(window).load(function() { ... });
Para
$(window).on('load', function() { ... });
jquery.js: 9612 TypeError não capturado: url.indexOf não é uma função
Esta mensagem de erro vem da jQuery.fn.load
função.
Eu me deparei com o mesmo problema no meu aplicativo. Após algumas pesquisas, encontrei essa declaração no blog jQuery ,
.load, .unload e .error, obsoletos desde o jQuery 1.8, não são mais . Use .on () para registrar ouvintes.
Simplesmente mudo como meus objetos jQuery chamam a load
função como acima. E tudo funciona como esperado.
document.ready
função e está funcionando como um encanto.
Uma abordagem melhor pode ser um polyfill como este
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Com isso, você pode deixar o código legado intocado. Se você usa o webpack, certifique-se de usar o carregador de scripts.
O Jquery 3.0 tem algumas alterações que removem certos métodos devido a conflitos. Seu erro provavelmente ocorre devido a uma dessas alterações, como a remoção do evento .load ().
Leia mais no Guia de atualização jQuery Core 3.0
Para corrigir isso, você precisa reescrever o código para ser compatível com o Jquery 3.0 ou usar o plug-in JQuery Migrate, que restaura as APIs e os comportamentos descontinuados e / ou removidos.
Me deparei com o mesmo erro depois de atualizar para a versão mais recente do JQuery. Portanto, atualizei o arquivo jquery em que estava trabalhando, conforme declarado em uma resposta anterior, e disse em .on("load")
vez de .load()
.
Essa correção não é muito estável e às vezes não funcionou para mim. Portanto, para corrigir esse problema, você deve atualizar seu código de:
.load();
para
.trigger("load");
Eu obtive essa correção da seguinte fonte: https://github.com/stevenwanderski/bxslider-4/pull/1024