jquery 3.0 url.indexOf त्रुटि


210

एक बार इसे अपडेट करने के बाद मुझे jQuery से निम्नलिखित त्रुटि हो रही है v3.0.0

jquery.js:9612 Uncaught TypeError: url.indexOf is not a function

कोई आइडिया क्यों?


यह जांचें, क्या यह आपकी समस्या का समाधान कर सकता है अनकैप टाइप टाइप: अनिर्धारित इंडेक्सऑफ पर एक फ़ंक्शन नहीं है
नलिन अग्रवाल

4
यह त्रुटि के jQuery के नए संस्करण है। पुराना संस्करण ठीक है।
कमरूल

im अभी भी इस में चल रहा है: 0
फेक

कृपया उत्तर घोषित करें। मुझे लगता है कि यह स्पष्ट है कि हमारे पास एक है
मैडलेन जेनजेटोविक

जवाबों:


546

अपने सभी कोड को अपडेट करें जो loadफ़ंक्शन को कॉल करता है, जैसे

$(window).load(function() { ... });

सेवा

$(window).on('load', function() { ... });

jquery.js: 9612 अनकैप्ड टाइपर्र: url.indexOf कोई फ़ंक्शन नहीं है

यह त्रुटि संदेश jQuery.fn.loadफ़ंक्शन से आता है ।

मैं अपने आवेदन पर इसी मुद्दे पर आया हूं। कुछ खुदाई के बाद, मुझे jQuery ब्लॉग में यह कथन मिला ,

। लोड, .unload, और .err, jQuery 1.8 के बाद से हटाए गए, अब और नहीं हैं । श्रोताओं को पंजीकृत करने के लिए .on () का उपयोग करें।

मैं बस यह बताता हूं कि मेरे jQuery ऑब्जेक्ट्स को loadऊपर की तरह फ़ंक्शन कैसे कहते हैं। और सब कुछ उम्मीद के मुताबिक काम करता है।


40
यह पागल है कि वे अपने डॉक्स में इस पेज पर एक बड़ा पदावनत चेतावनी नहीं है, api.jquery.com/load
जेम्स मैकमोहन

3
मैंने पाया कि यह वही सटीक समस्या है जो मुझे तब हो रही थी जब बूटस्ट्रैपिंग ज्यूरस फाउंडेशन ऑरेलिया में हुआ
samuel.molinski

5
विडंबना यह है कि मैं वास्तव में अभी भी कर रहा था कि जगह ही त्रुटि कोड को संभालने में था कि तब टूट गया: - /
Simon_Weaver

1
इसके लिए धन्यवाद, एकदम सही जवाब
KCarnaille

मैंने इसे document.readyफंक्शन में इस्तेमाल किया और यह एक आकर्षण की तरह काम कर रहा है।
जिज्ञासा

29

बेहतर दृष्टिकोण इस तरह से एक पॉलीफ़िल हो सकता है

jQuery.fn.load = function(callback){ $(window).on("load", callback) };

इससे आप विरासत कोड को अछूता छोड़ सकते हैं। यदि आप वेबपैक का उपयोग करते हैं तो स्क्रिप्ट-लोडर का उपयोग करना सुनिश्चित करें।


बहुत बहुत धन्यवाद। मुझे अभी भी एक त्रुटि मिली, जेम्स ने सुझाव दिया कि आप इसका उपयोग करें। यह काम किया है। jQuery.fn.load = फ़ंक्शन (कॉलबैक) {$ (विंडो) .trigger ("लोड", कॉलबैक); };
rgfx

अद्भुत समाधान जब यह तीसरी पार्टी जेएस के कारण होता है। एक और प्लस यह है कि इसे डाउनग्रेड की आवश्यकता नहीं है, जो भेद्यता का कारण बनेगा (3 से नीचे किसी भी jquery संस्करण में!)।
माटूस

यह उत्तर राजा है
नटिसिसो रिक्छो

16

Jquery 3.0 में कुछ ब्रेकिंग परिवर्तन हैं जो संघर्षों के कारण कुछ तरीकों को हटाते हैं। इन परिवर्तनों में से एक के कारण आपकी त्रुटि सबसे अधिक होने की संभावना है जैसे कि .लोड () घटना को हटाना।

JQuery के कोर 3.0 अपग्रेड गाइड में और पढ़ें

इसे ठीक करने के लिए आपको या तो Jquery 3.0 के साथ संगत होने के लिए कोड को फिर से लिखना होगा या फिर आप JQuery माइग्रेट प्लगइन का उपयोग कर सकते हैं जो कि हटाए गए / और हटाए गए API और व्यवहारों को पुनर्स्थापित करता है।


4

मुझे JQuery के नवीनतम संस्करण में अपडेट करने के बाद एक ही त्रुटि आई। इसलिए मैंने पहले से बताए अनुसार jquery फ़ाइल को अपडेट किया था, जिस पर मैं काम कर रहा था.on("load") इसके बजाय.load()

यह फिक्स बहुत स्थिर नहीं है और कभी-कभी यह मेरे लिए काम नहीं करता था। इसलिए इस समस्या को ठीक करने के लिए आपको अपना कोड अपडेट करना चाहिए :

    .load();

सेवा

    .trigger("load");

मुझे यह स्रोत निम्न स्रोत से मिला: https://github.com/stevenwanderski/bxslider-4/pull.1024

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.