それがv3.0.0
に更新された後、私はjQueryから以下のエラーを得ています。
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
何かアイデア?
更新 load
関数を呼び出すすべてのコード
$(window).load(function() { ... });
から
$(window).on('load', function() { ... });
jquery.js:9612捕捉されないTypeError:url.indexOfは関数ではありません
このエラーメッセージはjQuery.fn.load
関数から来ています。
私は自分のアプリケーションで同じ問題に遭遇しました。少し掘り下げた後、私は jQueryブログ でこの文を見つけました。
jQuery 1.8以降で廃止予定の.load、.unload、および.error、 は、もはや ではありません。リスナーを登録するには.on()を使用してください。
私のjQueryオブジェクトがload
関数を呼び出す方法を上記のように変更するだけです。そして、すべてが期待通りに動作します。
より良いアプローチはこのようなポリフィルかもしれません
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
これにより、レガシーコードをそのままにすることができます。あなたがwebpackを使っているなら、必ずscript-loaderを使ってください。
Jquery 3.0には、衝突のために特定のメソッドを削除するいくつかの重大な変更があります。あなたのエラーは、ほとんどの場合、.load()イベントの削除など、これらの変更のいずれかが原因です。
jQuery Core 3.0アップグレードガイドを読んでください
これを修正するには、Jquery 3.0と互換性があるようにコードを書き直す必要があります。あるいは、非推奨または削除されたAPIや動作を復元する JQuery Migrateプラグイン を使用できます。
最新バージョンのJQueryに更新した後に同じエラーが発生しました。したがって、前回の回答で述べたように、作業中のjqueryファイルを更新したので、.on("load")
ではなく.load()
となりました。
この修正はあまり安定していませんし、時にはうまくいきませんでした。したがって、この問題を解決するには、 update からコードを書く必要があります。
.load();
から
.trigger("load");
私は次のソースからこの修正を得ました: https://github.com/stevenwanderski/bxslider-4/pull/1024