নতুন ট্যাব স্প্লিট ভিউ এপিআই দিয়ে মাল্টিটাস্কিং এক্সটেনশনগুলিকে আরও উন্নত করুন

আন ম্যাক
Anh Mac

এই বছরের শুরুতে, ফেব্রুয়ারি ২০২৬-এ, ক্রোম ১৪৫ নেটিভ স্প্লিট ভিউ চালু করে, যা ব্যবহারকারীদের একই উইন্ডোর মধ্যে পাশাপাশি ট্যাব দেখা ও পরিচালনা করার সুবিধা দেয় এবং আলাদা ওএস উইন্ডো পরিচালনার জন্য থার্ড-পার্টি টুলের উপর নির্ভর করার প্রয়োজনীয়তা দূর করে। যদিও ব্যবহারকারীরা ব্রাউজার কন্ট্রোলের মাধ্যমে স্প্লিট ভিউ থেকে ম্যানুয়ালি ট্যাব যোগ বা অপসারণ করতে পারেন, ডেভেলপারদের পক্ষে ক্রোম এক্সটেনশনে প্রোগ্রাম্যাটিকভাবে এই নতুন ট্যাব লেআউটগুলো নিয়ন্ত্রণ করা সম্ভব ছিল না।

ক্রোমে স্প্লিট ভিউ।
ক্রোমের স্প্লিট ভিউ ব্যবহারকারীদের পাশাপাশি ট্যাবগুলো পরিচালনা করার সুযোগ দেয়।

আমরা নতুন স্প্লিট ভিউ এপিআই (Split View API) ঘোষণা করতে পেরে আনন্দিত, যা ক্রোম ১৫৫ (Chrome 155) থেকে পাওয়া যাচ্ছে! মোজিলা এবং ওয়েবএক্সটেনশনস কমিউনিটি গ্রুপের (WebExtensions Community Group) অন্যান্য ব্রাউজার ভেন্ডরদের সাথে নিবিড় সহযোগিতায় তৈরি এই নতুন এপিআই-টি এক্সটেনশনগুলোকে বিল্ট-ইন স্প্লিট ভিউ শনাক্ত করতে, তৈরি করতে এবং পরিচালনা করতে সাহায্য করে।

ডেমো

এটি কীভাবে কাজ করে

পূর্বে, পাশাপাশি অভিজ্ঞতা তৈরির এক্সটেনশনগুলো একাধিক নেটিভ উইন্ডোর আকার পরিবর্তন, <iframe> এলিমেন্টে পেজ এমবেড করা, বা সাইড প্যানেল ব্যবহারের মতো ভঙ্গুর বিকল্প পদ্ধতির উপর নির্ভর করত। এখন, নতুন স্প্লিট ভিউ এপিআই সরাসরি ক্রোমের ট্যাব এপিআই- এর সাথে একীভূত হয়ে ট্যাব লেআউট ব্যবস্থাপনার নতুন সক্ষমতা উন্মোচন করেছে।

স্পষ্ট অনুমতি

স্প্লিট ভিউ এপিআই হলো browser.tabs নেমস্পেসের একটি অংশ, এবং এটি ব্যবহার করার জন্য কোনো অনুমতির প্রয়োজন হয় না।

বিভক্ত দৃষ্টিভঙ্গি চিহ্নিত করা

প্রতিটি Tab অবজেক্টে একটি splitViewId প্রপার্টি থাকে। যদি ট্যাবটি কোনো স্প্লিট ভিউয়ের অংশ হয়, তবে এটি তার জোড়া ট্যাবের সাথে একটি অনন্য শনাক্তকারী শেয়ার করে; অন্যথায়, splitViewId এর ডিফল্ট মান -1 হয়।

// Querying all split views in the current windows
const tabs = await browser.tabs.query({ currentWindow: true });
const splitViews = tabs.map(tab => tab.splitViewId).filter(splitViewId => splitViewId !== -1);

সাধারণ সীমাবদ্ধতা

একটি স্প্লিট ভিউতে দুটি ট্যাবকে যুক্ত করতে হলে, সেগুলোকে নিম্নলিখিত শর্তগুলো পূরণ করতে হবে:

  1. ট্যাবগুলো অবশ্যই একে অপরের সংলগ্ন হতে হবে (বা তৈরি করতে হবে)।
  2. ট্যাবগুলো আগে থেকেই স্প্লিট ভিউতে থাকা যাবে না।
  3. ট্যাবগুলোর pinned , windowId এবং groupId স্টেট অবশ্যই একই হতে হবে।

বিপরীতভাবে, যখন দুটি ট্যাবকে আনস্প্লিট করা হয়, তখন তারা একে অপরের সাপেক্ষে আপেক্ষিক অবস্থানের পাশাপাশি তাদের একই pinned , windowId , groupId অবস্থা বজায় রাখবে।

স্প্লিট ভিউ তৈরি করা

দুটি পদ্ধতির মাধ্যমে একটি এক্সটেনশন নতুন স্প্লিট ভিউ তৈরি করতে পারে:

  1. browser.tabs.create এ নতুন splitWithTabId প্যারামিটার ব্যবহার করে একটি নতুন ট্যাব তৈরি করুন যা বিদ্যমান ট্যাবের সাথে বিভক্ত হবে।
  2. নতুন browser.tabs.createSplit মেথড ব্যবহার করে দুটি বিদ্যমান ট্যাব যুক্ত করুন।

উদাহরণ

বিদ্যমান ট্যাব থেকে ট্যাব ভাগ করার জন্য আপনি splitWithTabId ব্যবহার করে একটি নতুন ট্যাব তৈরি করতে পারেন।

await browser.tabs.create({splitWithTabId: existingTab.id});

ডিফল্টরূপে, নতুন ট্যাবটি বিদ্যমান ট্যাবের ডানদিকে তৈরি হবে।

বিদ্যমান ট্যাবের বাম দিকে একটি নতুন ট্যাব তৈরি করতে, সূচকটি সেই ট্যাবের সূচক হিসাবে সেট করুন:

  await browser.tabs.create({splitWithTabId: existingTab.id, index: existingTab.index});

এছাড়াও আপনি দুটি বিদ্যমান ট্যাবকে জোড়া দিয়ে একটি নতুন স্প্লিট ভিউ তৈরি করতে পারেন।

  await browser.tabs.createSplit([existingTab1.id, existingTab2.id]);

অবিভাজ্য বিভক্ত মতামত

একটি স্প্লিট ভিউকে দুটি স্বাধীন ট্যাবে বিভক্ত করতে, কোনো এক্সটেনশন নতুন browser.tabs.unsplit মেথডটি ব্যবহার করতে পারে।

const splitViewId = browser.tabs.createSplit([tab1.id, tab2.id]);
// Unsplitting the split view into two independent tabs
await browser.tabs.unsplit(splitViewId);

আরও জানুন

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

শুভ বিভাজন!