JQuery এর কোন সংস্করণটি লোড হয়েছে তা কীভাবে পরীক্ষা করবেন?


466

ক্লায়েন্ট মেশিনে jQuery এর কোন সংস্করণ লোড হয়েছে তা আমি কীভাবে চেক করব? ক্লায়েন্টের jQuery বোঝা থাকতে পারে তবে এটি কীভাবে চেক করতে হয় তা আমি জানি না। যদি তারা এটি লোড করে থাকে তবে আমি কীভাবে সংস্করণ এবং উপসর্গটি পরীক্ষা করব:

$('.class')
JQuery('.class')

2
আপনি ডাউনলোডের জন্য এটি ফাইল হিসাবে অন্তর্ভুক্ত করলে ক্লায়েন্টটির jQuery লোড থাকতে পারে। ঠিক কী সমস্যা?
জেরেদ ফারিশ

1
ওপি এর কী প্রয়োজন তা সম্পর্কে ডান্নো, তবে আপনি যদি কোনও স্ক্রিপ্ট বা প্লাগইন তৈরি করেন যা jQuery এর প্রয়োজন হয় আপনি যদি ত্রুটিটি পরীক্ষা করে দেখতে পারেন এবং এটি খুব পুরানো সংস্করণ না থেকে থাকে।
জেজেজে

উত্তর:


900
if (typeof jQuery != 'undefined') {  
    // jQuery is loaded => print the version
    alert(jQuery.fn.jquery);
}

29
বর্তমানে লোড হওয়া জেকুরি সংস্করণটি পরীক্ষা করার জন্য দুটি উপায় রয়েছে: jQuery.fn.jqueryএবং jQuery().jquery(শর্টহ্যান্ডস $.fn.jquery $().jquery)। আপনি আরও গভীর খনন করতে চাইলে jquery উত্স কোডের লিঙ্কগুলি সহ বিশদগুলিতে আমি এটি সম্পর্কে লিখেছিলাম ।
উজবেজোন

3
এমনকি আরও সহজ সংস্করণ if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
আশেরার্ড


1
লোয়ারকেস নোট করুন :)
দ্য রেড মটর

2
ব্যবহার করবেন না jQuery().jquery। এটি কোনও কিছুর জন্য একটি jQuery অবজেক্ট তৈরি করে, উত্তর যা বলে তা কেবল ব্যবহার করুন।

30

আপনি কেবলমাত্র jQueryবস্তুটি বিদ্যমান কিনা তা পরীক্ষা করতে পারেন :

if( typeof jQuery !== 'undefined' ) ... // jQuery loaded

jQuery().jquery সংস্করণ নম্বর আছে।

উপসর্গ হিসাবে, jQueryসর্বদা কাজ করা উচিত। আপনি যদি ব্যবহার করতে চান তবে $আপনার কোডটি কোনও ফাংশনে মুড়িয়ে jQueryরাখতে পারেন এবং এটি পরামিতি হিসাবে পাস করতে পারেন:

(function( $ ) {
    $( '.class' ).doSomething();  // works always
})( jQuery )

3
if( jQuery )একটি ব্যতিক্রম নিক্ষেপ করা হবে যদি jQueryঅজানা এবং এটি কাজ করবে না।
দারিন দিমিত্রভ

এটাকে হয়ত গুটিয়ে রাখি try {...}catch(e){...}?
আকাশ

2
ব্যবহার করবেন না jQuery().jquery। এটি কিছুই করার জন্য একটি jQuery অবজেক্ট তৈরি করে। (অন্য উত্তর থেকে মন্তব্য অনুলিপি করেছেন)
tzrzsmókus

19
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery

আপনি যদি কোনও সংস্করণ নম্বর ফিরে পান - সাধারণত স্ট্রিং হিসাবে - তবে jQuery লোড হয় এবং এটিই আপনি যে সংস্করণটির সাথে কাজ করছেন তা। যদি লোড না হয় তবে আপনার ফিরে পাওয়া উচিত undefinedবা ত্রুটি এমনকি।

বেশ পুরানো প্রশ্ন এবং আমি কয়েক জন লোক দেখেছি যারা ইতিমধ্যে মন্তব্যে আমার উত্তর উল্লেখ করেছে। যাইহোক, আমি দেখতে পেয়েছি যে কখনও কখনও মন্তব্য হিসাবে ছেড়ে দেওয়া দুর্দান্ত উত্তরগুলি নজরে না যেতে পারে; বিশেষত যখন কোনও উত্তরের জন্য প্রচুর মন্তব্য থাকে তবে আপনি রত্নের সন্ধানে সেগুলির গাদা দিয়ে নিজেকে খনন করতে পারেন। আশা করি এটি কাউকে সাহায্য করবে!


1
@ জনার না, এটি মোটেও এক রকম নয়। বিপরীতে অতিরিক্ত জটিল, আইএমও।
রকিন

18

… কেবল এই পদ্ধতির এখনও অবধি উল্লেখ করা হয়নি - কনসোলটি খুলুন এবং টাইপ করুন:

$ === jQuery

উপরে উল্লিখিত @ জুহানা $().jqueryসংস্করণ নম্বরটি ফিরিয়ে দেবে।


এর মতো কিছু($ === jQuery)?$().jquery:'no jquery';
UselesssCat

1
ওপি ভার্সন ভার্সন পরীক্ষা করতে বলেছে। এটি প্রশ্নের উত্তর দেয় না।
আকিরা ইয়ামামোতো

16

JQuery লোড হয়েছে কিনা তা যাচাই করার জন্য আমি এটি সবচেয়ে সংক্ষিপ্ত এবং সহজ উপায় হিসাবে খুঁজে পেয়েছি:

if (window.jQuery) {
    // jQuery is available.

    // Print the jQuery version, e.g. "1.0.0":
    console.log(window.jQuery.fn.jquery);
}

এই পদ্ধতিটি http://html5boilerplate.com এবং অন্যরা ব্যবহার করে ।


@ আন্ড্রেফিগুইরেডো জিকুয়েরি লোড হয়েছে কিনা তা নিশ্চিত করার পরে, সংস্করণ নম্বরটি কীভাবে পাবেন তা অন্তর্ভুক্ত করার জন্য আমি উত্তরটি সম্পাদনা করেছি।
মার্কাস অমলথিয়া ম্যাগনসন

5

আমার পছন্দটি হ'ল:

console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")

ফলাফল:

jQuery 1.8.0 লোড হয়েছে


আমি পেয়েছি: অপরিবর্তিত
জো এল।

এটি কিছুটা ভাল তবে কোনও অ্যাপে কাজ করার সময় লগইন করা তেমন কার্যকর নয়। আপনি প্রথমে একটি ভেরিয়েবল সংরক্ষণ করা ভাল। let has$ = typeof jQuery === 'function'; console.log('jQuery' + (has$ ? ` version ${jQuery.fn.jquery} loaded.` : ' is not loaded.'));

3

আইই এর জন্য আপনার এটি চেষ্টা / ক্যাপ ব্লকে আসলে আবদ্ধ করা উচিত:

// Ensure jquery is loaded -- syntaxed for IE compatibility
try
{
    var jqueryIsLoaded=jQuery;
    jQueryIsLoaded=true;
}
catch(err)
{
    var jQueryIsLoaded=false;
}
if(jQueryIsLoaded)
{
    $(function(){
        /** site level jquery code here **/
    });
}
else
{
    // Jquery not loaded
}

আইই হ্যান্ডেল করে না typeof jQuery != 'undefined'? এটি প্রতিটি আইই বা সত্যই পুরানোগুলির জন্য সত্য?
জেজেজে

খুব নিশ্চিত যে এটি উত্তরাধিকার সংস্করণগুলির জন্য। আপনার ব্রাউজারের দোষ নির্বিশেষে আপনার পৃষ্ঠাকে কাজ করা থেকে বিরত রাখতে
জেএসের

এটি সত্যিই আমাকে অনেক সাহায্য করেছে। ফ্যাশনফক্স এবং আইটি জুড়ে জাটি কিউরি লোড হয়েছে কিনা ওয়াটিএন ব্যবহার করছে না তা যাচাই করার জন্য আমি ঠিক আচরণের জন্য লড়াই করে যাচ্ছিলাম। এই কাজের সাথে এখন, আমি খুব খুশি। আপনাকে ধন্যবাদ!
রাহুল্ম


1

বিকাশকারীর সরঞ্জাম> কনসোলে যান এবং নীচের একটি কমান্ড লিখুন jQuery.fn.jquery console.log(jQuery().jquery);



-2
if (jQuery){
   //jquery loaded
}

.....


1
কিছু অন্যান্য গ্রন্থাগার ব্যবহার $
জেরেদ ফারিশ

2
তারা কি প্রোটোটাইপ ব্যবহার করছে? বা অন্য কিছু ব্যবহার করে $? এটি jQuery এর জন্য অনন্য নয়।
জেজেজে

jQueryবোঝা না হলে কী হবে ? (এটি ফেলে দেবে ReferenceError) উপরের উত্তরটি সঠিক, এবং সে কারণেই লোকেরা আপনার উত্তরটি কম ভোট দিচ্ছে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.