নতুন ফাউন্ডেশন প্রজেক্ট খোলার সময় "আনকাচড টাইপআরার: এআইডেক্সঅফ কোনও ফাংশন নয়" ত্রুটি


250

আমি ব্যাশ মাধ্যমে একটি নতুন ফাউন্ডেশন 5 প্রকল্প তৈরি করে নিলে, foundation new my-project। আমি যখন ক্রোমে সূচক। Html ফাইলটি খুলি তখন Uncaught TypeError: a.indexOf is not a functionকনসোলে একটি ত্রুটি প্রদর্শিত হয়, উত্পন্ন হয় jquery.min.js:4

আমি ফাউন্ডেশন সাইটে পদক্ষেপ অনুসরণ করে প্রকল্পটি তৈরি করেছি, তবে আমি এই ত্রুটি থেকে মুক্তি পাবে বলে মনে করতে পারছি না। ফাউন্ডেশন এবং jQuery দেখে মনে হচ্ছে এগুলি সূচক html ফাইলে সঠিকভাবে যুক্ত এবং যুক্ত হয়েছে এবং লিঙ্কযুক্ত অ্যাপ.জেএস ফাইল অন্তর্ভুক্ত রয়েছে$(document).foundation();

কেউ কি জানেন যে এই ত্রুটিটি ঘটছে? এবং এর সমাধান কী হতে পারে?

কনসোল ত্রুটি বার্তা স্ক্রিনশট

উত্তর:


819

এই ত্রুটিটি মত jQuery এর ঘটনা-alias লেখা কারণেও হতে পারে .load(), .unload()বা .error()যে সব হয় অবচিত jQuery এর 1.8 থেকে । আপনার কোডে এই এলিয়াসগুলির সন্ধান করুন এবং পরিবর্তে তাদের .on()পদ্ধতিটির সাথে প্রতিস্থাপন করুন । উদাহরণস্বরূপ, নিম্নলিখিত অবচয় বিবেচিত অংশগুলি প্রতিস্থাপন করুন:

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

নিম্নলিখিত সহ:

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

3
এটি আমার কাছে ২.২.১ @ ব্যবহারকারীর সাথে নেই, তবে আমি 3.3.1 এ চলে যেতেই আমাকে এই পরিবর্তনটি করতে হবে।
কোডমনকি

@ ড্যানিয়েল্লান আপনি আমার দিন বাঁচান
ওয়েজ ইউসুফি

1
এটি আমার জন্য এটি স্থির করে দিয়েছে।
13:30 এ ব্রাউন ব্রাউন

@ ক্রাইন $(function() {});হ'ল ডকুমেন্ট প্রস্তুতের জন্য যা উইন্ডো লোড ইভেন্টের মতো নয়। এছাড়াও ডক রেডি প্রায়শই উইন্ডো লোডের আগে গুলি চালায়।
রবার্ট

হ্যালো মানুষ, আমাকে বলতে পারেন কেন? এটি ভার্সন 1.12.3 এর সাথে কাজ করার আগে এবং আমি 3.4.1-এ স্থানান্তরিত হওয়ার পরে এটি কাজ করা বন্ধ করে দিয়েছিল
আরমান্ডো মার্কস সোব্রিনহো

35

এই ত্রুটিটি প্রায়শই বেমানান jQuery সংস্করণগুলির কারণে ঘটে । একটি foundation 6সংগ্রহস্থল নিয়ে আমি একই ত্রুটির মুখোমুখি হয়েছি । আমার সংগ্রহশালা ব্যবহার করছিল jQuery 3তবে ফাউন্ডেশনের জন্য পূর্ববর্তী সংস্করণ প্রয়োজন। আমি তখন এটি পরিবর্তন করেছি এবং এটি কাজ করে।

আপনি যদি ফাউন্ডেশন 5 এর দ্বারা নির্ভরশীল jQuery এর সংস্করণটি দেখেন তবে এটি সূচিত করে "jquery": "~2.1.0"

আপনি কি নিশ্চিত করতে পারবেন যে আপনি jQuery এর সঠিক সংস্করণটি লোড করছেন?

আশা করি এটা কাজে লাগবে.


29

দয়া করে নীচে jQuery মাইগ্রেট প্লাগইন যুক্ত করুন

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.4.1.min.js"></script>

আমি নিশ্চিত হয়েছি যে এটি সমস্যার সমাধান করেছে।
মোরাদ হামডি

17

আমিও এই সমস্যার মুখোমুখি হয়েছি। আমি jquery.poptrox.min.jsচিত্র পপিং এবং জুমিংয়ের জন্য ব্যবহার করছিলাম এবং আমি একটি ত্রুটি পেয়েছি যা বলেছিল:

"আনকাচড টাইপ এরির: এআইডেক্সঅফ কোনও ফাংশন নয়" ত্রুটি।

এটি কারণ indexOfএটি সমর্থিত ছিল না 3.3.1/jquery.min.jsতাই এটির একটি সাধারণ ফিক্সটি এটি পুরানো সংস্করণে পরিবর্তন করা 2.1.0/jquery.min.js

এটি আমার জন্য এটি স্থির করে দিয়েছে।


2
আমি 3.2.1 থেকে 2.1.0 এ চলে এসেছি এবং এটি কার্যকর হয়েছে। এটি আমার পক্ষে কাজ করেছে।
সিদ্ধার্থ

স্বাগত ! @ সিদ্ধার্থ
হর্ষিত পান্ত

1
সংস্করণগুলিতে কখনই পিছনে ফিরে আসবেন না কারণ এর ফলে বড় ধরনের সুরক্ষা সমস্যা দেখা দিতে পারে।
অজয় টাকুর

1
যদি এটি হয় তবে: আপনি নীচের কোডটি window (উইন্ডো) প্রতিস্থাপন করতে পারেন load লোড (ফাংশন () {...}); নিম্নলিখিতগুলির সাথে: $ (উইন্ডো) .অন ('লোড', ফাংশন () {...}); যে কাজ করবে! :)
হর্ষিত পান্ত

13

সম্ভাব্য কারণগুলির মধ্যে একটি হ'ল আপনি যখন jQuery TWICE লোড করেন , যেমন:

<script src='..../jquery.js'></script>
....
....
....
....
....
<script src='......./jquery.js'></script>

সুতরাং, আপনার উত্স কোডটি পরীক্ষা করুন এবং ডুপ্লিকেট জিকিউরি লোড সরান।


2
ওয়ার্ডপ্রেসের সাথে এটি ঘটে, এর নিজস্ব সংস্করণটি লোড করা হচ্ছে, যদি আপনি নিজের পাশে কোনও জেকারি সংস্করণও লোড করে থাকেন।
অলৌ

1

আমি ব্যবহার করছি jQuery 3.3.1এবং আমি একই ত্রুটি পেয়েছি, আমার ক্ষেত্রে, URL টি Objectএকটি স্ট্রিং বনাম ছিল ।

যা হ'ল তা আমি নিয়েছিলাম URL = window.location- যা কোনও বস্তু ফিরিয়ে দিয়েছে। একবার আমি এটিকে পরিবর্তন করে ফেলেছি window.location.href- এটি e.indexOfত্রুটিটি ডাব্লু / ও এর কাজ করে ।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.