নিজের ইচ্ছামতো জাভাস্ক্রিপ্ট চালাও যেকোনো ওয়েবসাইটে! Userscripts!

আমার মনে হয় টাইটেলটা একটু মিসলিডিং লাগতে পারে, যে ইচ্ছা মতো জাভাস্ক্রিপ্ট চালাবো যেকোনো ওয়েবপেইজে। আসলে ব্যাপারটা কমপ্লিটলি ওরকম না। একটু ভেঙ্গে বুঝায় দিই চলো।

ধরো, তোমার একটা ওয়েবসাইটে গান শুনতে বেশ ভালো লাগে। কিন্তু ঐ ওয়েবসাইটে কীবোর্ডের স্পেসবার চেপে তুমি গান চালু বা বন্ধ করতে পারো না। কারন এই ফিচারটা ঐ ওয়েবসাইটের প্রোগ্রামার তৈরি করে নাই। তো তুমি চাইলে তোমার নিজের জন্য এই ফিচারটা তৈরি করে ব্যাবহার করতে পারো। তুমি চাইলে একটা ছোট্ট জাভাস্ক্রিপ্ট প্রোগ্রাম লিখতে পারো যেইটা তুমি যখন এই গানের ওয়েবসাইটে স্পেসবার চাপ দিবে, তখন গান চালু বা বন্ধ করবে। এই কোডটাকে বলে Userscript.

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

এই Userscript আসলে জাভাস্ক্রিপ্টই। কেবল একজন ইউজারের মধ্যে সীমাবদ্ধ থাকে বলেই হয়তো নামটাই এমন দেয়া হয়েছে।

এখন সবচেয়ে বড় কথা, কিভাবে ইউজারস্ক্রিপ্ট চালু করবো। সহজ একটা উপায় হলো, ওয়েবপেইজের Inspect Element অপশন থেকে Console মেনু থেকে ইউজারস্ক্রিপ্ট কোড ইঞ্জেক্ট করে দেয়া। 

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

আমার খুব প্রিয় একটা ইউজারস্ক্রিপ্ট ম্যানেজার হলো Tampermonkey.
ট্যাম্পারমাঙ্কি ব্যাবহার করা খুব সহজ ও সাবলীল। আমার প্রথমবার ব্যাবহার বুঝতে খুব বেশিক্ষন লাগে নাই। আর ট্যাম্পারমাঙ্কি কাজ করে ব্রাউজারের এক্সটেনশনের মতো। যেকোনো ব্রাউজারে ইন্সটল করা যায়।
আর ট্যাম্পারমাঙ্কির একটা কমিউনিটি আছে, যেখানে হাজার হাজার ইউজার তাদের নিজেদের লেখা স্ক্রিপ্ট শেয়ার করে। সেই স্ক্রিপ্ট যে কেউ ব্যাবহার করতে পারবে।

তো আমরা একটু দেখি কিভাবে ট্যাম্পারমাঙ্কি ব্যাবহার করতে হয়। 

ব্যাসিকেলি দুইরকমের ব্রাউজার আমরা ব্যবহার করি।

Post a Comment

Previous Post Next Post