আমি ডাউনলোড করতে পারি এমন সর্বশেষ সংস্করণে আমি কীভাবে jQuery আপডেট করব?


33

আমি ড্রুপাল 7 ব্যবহার করছি, যা ডিফল্ট হিসাবে jQuery 1.4 ব্যবহার করে? আমি কীভাবে এটি সর্বশেষ সংস্করণে (বর্তমানে 1.7) আপডেট করতে পারি?


1
আমি মডিউল ব্যবহার করতে চাই না, ম্যানুয়েল করতে চাই।
কর্মকোমা

ড্রুপালটিতে jQuery ম্যানুয়ালি আপগ্রেড করা খুব জটিল এবং খুব ঝুঁকিপূর্ণ এমনকি ড্রপাল বিকাশকারীদের পক্ষে ঝুঁকিপূর্ণ। আপনার ক্লাইভের পরামর্শ নেওয়া উচিত এবং jQuery আপডেট ব্যবহার করা উচিত।
sheena_d

আমি এফটিপি-র মাধ্যমে মিস-জ্যাকোয়ারি.জেএস ফাইলটিতে যাই এবং নতুন জ্যাকোয়ারি কোডটি প্রতিস্থাপন করি। রাইট?
কর্মকোমা

Misc-jquery.js যতদূর আমি জানি, একটি jquery সংস্করণের ঠিক একই অনুলিপি নয়। তবে, গিট অনুযায়ী, drupalcode.org/project/jquery_update.git/tree/refs/heads/… , সেখানে 1.7 সমর্থনও থাকতে পারে।
আইয়েশক

@ পেট্রিক কেনি আমি এটিকে সঠিক বলে মনে করি না - আমি আজকে jquery_update ব্যবহার করে jquery 1.8 নির্বাচন করতে পারি
Dou1ejack

উত্তর:


44

ওয়ান ওয়ে ইনস্টল করা ডেভ সংস্করণ এর jQuery এর আপডেট (এ সেটিংস পৃষ্ঠায় গিয়ে যা আপনি jQuery 1.7 ব্যবহার করতে বিকল্প দেয়, http://mysite.com/admin/config/development/jquery_update )।

যদিও সাবধান, বর্তমানে এটি সাইটের অন্য কোথাও জাভাস্ক্রিপ্ট ভাঙ্গা হিসাবে পরিচিত (উদাহরণস্বরূপ একটি পরিচালনা ক্ষেত্র পৃষ্ঠাতে উইজেট ড্রপডাউন আর কাজ করবে না)। যদি আপনি এটি এবং অন্য কোনও ছোট বিরক্তি স্থির করতে প্রস্তুত থাকেন তবে এটি সম্ভবত আপনার সেরা বাজি। আপনার এও লক্ষ্য করা উচিত যে মডিউলটির ডেভ সংস্করণ ব্যবহার করা ঝুঁকি ছাড়াই নয়, কারণ কোনও নির্দিষ্ট রিলিজ ব্যবহারের চেয়ে বাগের সম্ভাবনা অনেক বেশি।

আপনি যদি এটি ম্যানুয়ালি করতে চান তবে আপনার সাইটের প্রত্যাশা অনুযায়ী কাজ করার জন্য পুনরায় লেখার জন্য আপনার কাছে প্রচুর কোর জাভাস্ক্রিপ্ট কোড থাকবে; jQuery সংস্করণ 1.4 / 1.5 এবং 1.7 এর মধ্যে একটি ভয়াবহ পরিবর্তন করেছে তাই মূল ড্রপাল জাভাস্ক্রিপ্ট কোডটি কেবল এটির সাথে কাজ করে না।

আপনি যদি কেবল jQuery 1.7 এর একটি সংস্করণ ছেড়ে দিতে চান তবে আপনি সম্ভবত hook_js_alter()মূল jQuery ফাইলটি প্রয়োগ করতে পারেন , আনসেট করতে পারেন এবং নিজের জায়গায় এটি যুক্ত করতে পারেন:

function MYMODULE_js_alter(&$js) {
  $path = drupal_get_path('module', 'MYMODULE') . '/path/to/jquery.1.7.js';

  // Copy the current jQuery file settings and change
  $js[$path] = $js['misc/jquery.js'];

  // Update necessary settings
  $js[$path]['version'] = 1.7;
  $js[$path]['data'] = $path;

  // Finally remove the original jQuery
  unset($js['misc/jquery.js']);
}

এটি সম্পন্ন হয়ে গেলে, বিকাশকারী সরঞ্জাম / ফায়ারব্যাগ খুলুন এবং বাকি সাইট জেএসকে কাজ করতে আপনি যে পরিবর্তনগুলি করতে হবে তা আপনি দেখতে পাবেন :)

হালনাগাদ

JQuery আপডেটের সর্বশেষতম সংস্করণ ( লেখার সময় 7.x-2.3 ) এখন আপনাকে j1 কে v1.8 এ আপডেট করার অনুমতি দেবে। খুব ঠান্ডা.

JQuery এর মাল্টি মডিউল অন্য কোনো বিকল্প, মন্তব্য ইশারা যে জন্য goron ধন্যবাদ আছে। যেমনটি তিনি নোট করেছেন, এই মডিউলটির একটি স্থিতিশীল প্রকাশ রয়েছে এবং এটি কোনও বিদ্যমান জাভাস্ক্রিপ্ট ভাঙবে না।


থ্যাক্স ম্যান !!! আমি কিছুক্ষণের জন্য এটি খুঁজছিলাম! আমার ক্ষেত্রে আমি কেবল প্রতি থিম প্রতি jQuery এর একটি ভিন্ন সংস্করণ লোড করতে চেয়েছিলাম, তাই আমি কেবল MYMODULE_js_alter এর জন্য MYTHEME_js_alter এবং drupal_get_path ('থিম', 'MYTHEME') drupal_get_path ('মডিউল', 'MYMODULE')
ভিক্টোমো

1
সাবধান, দ্রুপাল একটি পুরানো jQuery নিয়ে কাজ করার জন্য লিখিত জাভাস্ক্রিপ্ট ফাইলগুলির নিজস্ব সেট নিয়ে আসে এবং jQuery 1.7 বা 1.8 এর সাথে সামঞ্জস্যপূর্ণ নয়। সর্বশেষতম jQuery আপডেট এগুলির জন্য প্রতিস্থাপন ফাইল সরবরাহ করে।
পিয়েরে বুয়েল

1
আপনার মডিউলটির ডেভ সংস্করণ প্রয়োজন, স্থির সংস্করণে 1.7 এর বিকল্প নেই
ক্লাইভ

2
jQuery মাল্টি আরেকটি বিকল্প, যার জন্য ডি সংস্করণ প্রয়োজন হয় না এবং কোনও জেএস ভাঙবে না। হতে পারে এটি বিকল্প হিসাবে যুক্ত করুন বা "একমাত্র উপায়" সরান?
goron

1
@ গোরন শুভ পয়েন্ট, ধন্যবাদ এই উত্তরগুলির কিছু সম্ভবত অচল, এখন আমি শীঘ্রই এটি আপডেট করার চেষ্টা করব
ক্লাইভ

4

আপনি jquery মাল্টি মডিউল ব্যবহার করার জন্যও বিবেচনা করা উচিত যা আপনাকে jquery এর একাধিক সংস্করণ ব্যবহার করতে দেয়। দুর্দান্ত মডিউল, আমি এটি আমার সমস্ত প্রকল্পে ড্রুএপল 7 এবং 6 এর জন্য ব্যবহার করছি।


2

Hook_js_alter ডকুমেন্টেশন দ্বারা অনুপ্রাণিত , নিম্নলিখিত কাজ করে। আপনি এটি আপনার থিমের টেম্পলেট.এফপিতে রাখতে পারেন। এর জন্য আপনি ড্রুপাল কোরের সাথে বিরোধ এড়াতে একটি পৃথক অ্যাডমিন থিম ব্যবহার করা প্রয়োজন এবং এটি ধরে নিয়েছে যে jquery-1.8.3.min.js থিমের মধ্যে 'js' নামে একটি ফোল্ডারে অবস্থিত (স্যুটের সাথে সামঞ্জস্য করুন)।

function [theme_machine_name]_js_alter(&$javascript) {

  $javascript['misc/jquery.js']['data'] = drupal_get_path('theme', '[theme_machine_name]') .
    '/js/jquery-1.8.3.min.js';

  $javascript['misc/jquery.js']['version'] = '1.8.3';

}


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

0

আমি এখানে আপনার উদ্দেশ্য কী তা নিশ্চিত নই, তবে কাস্টম মডিউল বিকাশের জন্য যখন আমার একটি নির্দিষ্ট সংস্করণ দরকার তখন আমি jQuery.noConflict ব্যবহার করে তা করতে সক্ষম হয়েছি

এটি jquery_update মডিউলটির তুলনায় কিছু অতিরিক্ত কাজ (যা ওপিকে মনে হয় না) তবে এর অর্থ এই নয় যে আপনি আপনার পুরো ড্রুপাল ইনস্টলেশনটি গণ্ডগোল করে যাচ্ছেন কিনা তা নিয়ে আপনাকে চিন্তিত হওয়ার দরকার নেই।

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