Bir kez güncellendi jQuery aşağıdaki hatayı alıyorum v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Neden herhangi bir fikir?
Bir kez güncellendi jQuery aşağıdaki hatayı alıyorum v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Neden herhangi bir fikir?
Yanıtlar:
Çağıran tüm kodunuzu güncelleyinload
,
$(window).load(function() { ... });
için
$(window).on('load', function() { ... });
jquery.js: 9612 Yakalanmayan TypeError: url.indexOf bir işlev değil
Bu hata mesajı jQuery.fn.load
işlevden gelir .
Başvurumda da aynı sorunla karşılaştım. Biraz araştırmadan sonra bu ifadeyi jQuery blogunda buldum ,
jQuery 1.8'den beri kullanımdan kaldırılan .load, .unload ve .error dosyaları artık yok . Dinleyicileri kaydetmek için .on () kullanın.
Sadece jQuery nesnelerimin load
yukarıdaki gibi işlevi nasıl çağırdığını değiştiririm . Ve her şey beklendiği gibi çalışıyor.
document.ready
İşlev olarak kullandım ve bir cazibe gibi çalışıyor.
Daha iyi bir yaklaşım böyle bir çoklu dolgu olabilir
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Bununla eski kodlara dokunulmaz. Webpack kullanıyorsanız script-loader kullandığınızdan emin olun.
Jquery 3.0, çakışmalar nedeniyle belirli yöntemleri kaldıran bazı değişiklikler içeriyor. Hatanızın nedeni büyük olasılıkla .load () olayının kaldırılması gibi bu değişikliklerden biridir.
JQuery Core 3.0 Yükseltme Kılavuzu'nda daha fazlasını okuyun
Bunu düzeltmek için kodu Jquery 3.0 ile uyumlu olacak şekilde yeniden yazmanız gerekir, aksi takdirde kullanımdan kaldırılan ve / veya kaldırılan API'leri ve davranışları geri yükleyen JQuery Migrate eklentisini kullanabilirsiniz .
JQuery en son sürümüne güncelledikten sonra aynı hatayla karşılaştım. Bu nedenle, önceki yanıtta belirtildiği gibi üzerinde çalıştığım jquery dosyasını güncelledim, .on("load")
bunun yerine dedi .load()
.
Bu düzeltme çok kararlı değil ve bazen benim için işe yaramadı. Bu nedenle, bu sorunu gidermek için kodunuzu aşağıdakilerden güncellemelisiniz :
.load();
için
.trigger("load");
Bu düzeltmeyi aşağıdaki kaynaktan aldım: https://github.com/stevenwanderski/bxslider-4/pull/1024