browser.tabs

বিবরণ

ব্রাউজারের ট্যাব সিস্টেমের সাথে ইন্টার‍্যাক্ট করতে chrome.tabs API ব্যবহার করুন। ব্রাউজারে ট্যাব তৈরি, পরিবর্তন ও নতুন করে সাজাতে আপনি এই API ব্যবহার করতে পারবেন।

ট্যাব API শুধু ট্যাব ম্যানিপুলেট ও ম্যানেজ করার ফিচারই অফার করে না, এটি ট্যাবের ভাষা শনাক্ত করতে, স্ক্রিনশট নিতে এবং ট্যাবের কন্টেন্ট স্ক্রিপ্টের সাথে যোগাযোগ করতেও পারে।

অনুমতি

বেশিরভাগ ফিচার ব্যবহার করার জন্য কোনও অনুমতির প্রয়োজন হয় না। যেমন: নতুন ট্যাব তৈরি করা, ট্যাব রিলোড করা, অন্য URL-এ নেভিগেট করা ইত্যাদি।

Tabs API নিয়ে কাজ করার সময় ডেভেলপারদের তিনটি অনুমতি সম্পর্কে সচেতন থাকতে হবে।

"ট্যাব" সংক্রান্ত অনুমতি

এই অনুমতি browser.tabs নেমস্পেস অ্যাক্সেস করার সুবিধা দেয় না। পরিবর্তে, এটি tabs.Tab ইনস্ট্যান্সের চারটি সংবেদনশীল প্রপার্টির জন্য tabs.query() কল করার ক্ষমতা এক্সটেনশনকে প্রদান করে: url, pendingUrl, title এবং favIconUrl।

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
হোস্টের অনুমতি

হোস্ট সংক্রান্ত অনুমতি কোনও এক্সটেনশনকে ম্যাচিং ট্যাবের চারটি সংবেদনশীল tabs.Tab প্রপার্টি পড়তে ও কোয়েরি করতে দেয়। এছাড়াও, তারা tabs.captureVisibleTab(), scripting.executeScript(), scripting.insertCSS() এবং scripting.removeCSS()-এর মতো পদ্ধতি ব্যবহার করে সরাসরি ম্যাচিং ট্যাবের সাথে ইন্টার‍্যাক্ট করতে পারবেন।

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
"activeTab" অনুমতি

ব্যবহারকারীর অনুরোধের ভিত্তিতে activeTab বর্তমান ট্যাবের জন্য এক্সটেনশনকে সাময়িক হোস্ট সংক্রান্ত অনুমতি প্রদান করে। হোস্টের অনুমতির মতো, activeTab কোনও সতর্কতা ট্রিগার করে না।

{
  "name": "My extension",
  ...
  "permissions": [
    "activeTab"
  ],
  ...
}

যেসব ক্ষেত্রে ব্যবহার করা যাবে

নিম্নলিখিত বিভাগে কিছু সাধারণ ব্যবহারের উদাহরণ দেওয়া হল।

নতুন ট্যাবে এক্সটেনশন পৃষ্ঠা খুলুন

এক্সটেনশনের জন্য একটি সাধারণ প্যাটার্ন হল এক্সটেনশন ইনস্টল করার সময় একটি নতুন ট্যাবে অনবোর্ডিং পৃষ্ঠা খোলা। এটি কীভাবে করতে হয় তা নিম্নলিখিত উদাহরণ থেকে দেখুন।

background.js:

browser.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    browser.tabs.create({
      url: "onboarding.html"
    });
  }
});

বর্তমান ট্যাব পান

এই উদাহরণে দেখানো হয়েছে যে কীভাবে কোনও এক্সটেনশনের সার্ভিস ওয়ার্কার বর্তমানে-ফোকাস করা উইন্ডো (অথবা সবচেয়ে সম্প্রতি-ফোকাস করা উইন্ডো, যদি কোনও Chrome উইন্ডো ফোকাস করা না থাকে) থেকে অ্যাক্টিভ ট্যাব ফিরিয়ে আনতে পারে। এটি সাধারণত ব্যবহারকারীর বর্তমান ট্যাব হিসেবে ভাবা যেতে পারে।

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await browser.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    browser.tabs.query(queryOptions, ([tab]) => {
      if (browser.runtime.lastError)
      console.error(browser.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

নির্দিষ্ট ট্যাব মিউট করুন

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

  async function toggleMuteState(tabId) {
    const tab = await browser.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await browser.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    browser.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await browser.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

ক্লিক করা হলে বর্তমান ট্যাবটি প্রথম অবস্থানে সরান

এই উদাহরণে দেখানো হয়েছে যে ড্র্যাগ করার প্রসেস চলাকালীন বা না চলাকালীন কীভাবে ট্যাব সরানো যায়। এই উদাহরণে browser.tabs.move ব্যবহার করা হলেও, ট্যাব টেনে আনার সময় ট্যাব পরিবর্তন করে এমন অন্যান্য কলের ক্ষেত্রেও আপনি একই ওয়েটিং প্যাটার্ন ব্যবহার করতে পারবেন।

  browser.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await browser.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  browser.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (browser.runtime.lastError) {
        const error = browser.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

বেছে নেওয়া ট্যাবের কন্টেন্ট স্ক্রিপ্টে মেসেজ পাঠান

এই উদাহরণে দেখানো হয়েছে যে কীভাবে কোনও এক্সটেনশনের সার্ভিস ওয়ার্কার tabs.sendMessage() ব্যবহার করে নির্দিষ্ট ব্রাউজার ট্যাবে কন্টেন্ট স্ক্রিপ্টের সাথে যোগাযোগ করতে পারে।

function sendMessageToActiveTab(message) {
  const [tab] = await browser.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await browser.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

এক্সটেনশনের উদাহরণ

আরও Tabs API এক্সটেনশন ডেমোর জন্য, নিম্নলিখিত যেকোনও একটি এক্সপ্লোর করুন:

ধরন

MutedInfo

Chrome 46+ Chrome 148 থেকে browser.*

ট্যাবের মিউট করা স্ট্যাটাস এবং শেষবার স্ট্যাটাস পরিবর্তন করার কারণ।

প্রপার্টি

  • extensionId

    স্ট্রিং ঐচ্ছিক

    মিউট করা স্ট্যাটাস পরিবর্তন করেছে এমন এক্সটেনশনের আইডি। মিউট করা স্ট্যাটাস শেষবার পরিবর্তন করার কারণ এক্সটেনশন না হলে সেট করা হয় না।

  • মিউট করা হয়েছে

    বুলিয়ান

    ট্যাবটি মিউট করা আছে কিনা (সাউন্ড বাজানো থেকে আটকানো)। ট্যাবটি মিউট করা থাকতে পারে, এমনকি এটি সাউন্ড না চালালেও বা বর্তমানে সাউন্ড না চালালেও। 'মিউট করা' অডিও ইন্ডিকেটর দেখাচ্ছে কিনা তার সমতুল্য।

  • কারণ

    MutedInfoReason optional

    ট্যাবটি মিউট বা আনমিউট করার কারণ। ট্যাবের মিউট স্ট্যাটাস কখনও পরিবর্তন করা না হলে সেট করা হয় না।

MutedInfoReason

Chrome 46+ Chrome 148 থেকে browser.*

এমন একটি ইভেন্ট যার কারণে মিউট করা স্ট্যাটাস পরিবর্তন হয়েছে।

Enum

"ব্যবহারকারী"
ব্যবহারকারীর ইনপুট অ্যাকশন মিউট করা স্ট্যাটাস সেট করেছে।

"ক্যাপচার"
ট্যাব ক্যাপচার শুরু করা হয়েছে, মিউট করা স্ট্যাটাস পরিবর্তন করতে বাধ্য করা হচ্ছে।

"এক্সটেনশন"
এক্সটেনশনআইডি ফিল্ড দ্বারা শনাক্ত করা একটি এক্সটেনশন, মিউট করা স্ট্যাটাস সেট করে।

Tab

প্রপার্টি

  • অ্যাক্টিভ আছে

    বুলিয়ান

    ট্যাবটি তার উইন্ডোতে অ্যাক্টিভ আছে কিনা। এর অর্থ এই নয় যে উইন্ডোটি ফোকাস করা হয়েছে।

  • audible

    বুলিয়ান ঐচ্ছিক

    Chrome 45+ ব্রাউজার।* Chrome 148 থেকে

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

  • autoDiscardable

    বুলিয়ান

    Chrome 54+ Chrome 148 থেকে browser.*

    রিসোর্স কম থাকলে, ব্রাউজার অটোমেটিক ট্যাবটি বাতিল করতে পারবে কিনা।

  • বাতিল করা হয়েছে

    বুলিয়ান

    Chrome 54+ Chrome 148 থেকে browser.*

    ট্যাবটি বাতিল করা হয়েছে কিনা। বাতিল করা ট্যাব হল এমন একটি ট্যাব যার কন্টেন্ট মেমরি থেকে আনলোড করা হয়েছে, কিন্তু এখনও ট্যাব বারে দেখা যাচ্ছে। পরের বার এটি অ্যাক্টিভেট করা হলে, এর কন্টেন্ট আবার লোড করা হয়।

  • favIconUrl

    স্ট্রিং ঐচ্ছিক

    ট্যাবের ফেভিকনের URL। এক্সটেনশনের কাছে "tabs" অনুমতি থাকলে অথবা পৃষ্ঠার জন্য হোস্টের অনুমতি থাকলে তবেই এই প্রপার্টি থাকে। ট্যাব লোড হওয়ার সময় এটি খালি স্ট্রিংও হতে পারে।

  • ফ্রিজ হয়ে গেছে

    বুলিয়ান

    Chrome 132+ Chrome 148 থেকে browser.*

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

  • groupId

    নম্বর

    Chrome 88+ Chrome 148 থেকে browser.*

    ট্যাবটি যে গ্রুপের অন্তর্গত, সেই গ্রুপের আইডি।

  • উচ্চতা

    নম্বর ঐচ্ছিক

    পিক্সেলে ট্যাবের উচ্চতা।

  • হাইলাইট করা হয়েছে

    বুলিয়ান

    ট্যাবটি হাইলাইট করা আছে কিনা।

  • id

    নম্বর ঐচ্ছিক

    ট্যাবের আইডি। ব্রাউজার সেশনে ট্যাব আইডি অনন্য হয়। কিছু পরিস্থিতিতে কোনও ট্যাবে আইডি অ্যাসাইন করা নাও থাকতে পারে; যেমন, sessions API ব্যবহার করে ফরেন ট্যাব কোয়েরি করার সময়, যেক্ষেত্রে সেশন আইডি থাকতে পারে। অ্যাপ ও devtools উইন্ডোর জন্য ট্যাব আইডি chrome.tabs.TAB_ID_NONE-এ সেট করা যেতে পারে।

  • ছদ্মবেশী মোড

    বুলিয়ান

    ট্যাবটি ছদ্মবেশী উইন্ডোতে আছে কিনা।

  • সূচি

    নম্বর

    উইন্ডোর মধ্যে ট্যাবের শূন্য-ভিত্তিক সূচক।

  • lastAccessed

    নম্বর

    Chrome 121+ Chrome 148 থেকে browser.*

    শেষবার যখন ট্যাবটি তার উইন্ডোতে অ্যাক্টিভ হয়েছিল, তখন থেকে মিলিসেকেন্ডের সংখ্যা হিসাবে।

  • mutedInfo

    MutedInfo ঐচ্ছিক

    Chrome 46+ Chrome 148 থেকে browser.*

    ট্যাবের মিউট করা স্ট্যাটাস এবং শেষবার স্ট্যাটাস পরিবর্তন করার কারণ।

  • openerTabId

    নম্বর ঐচ্ছিক

    এই ট্যাবটি যে ট্যাব খুলেছে সেটির আইডি, যদি থাকে। ওপেনার ট্যাব এখনও থাকলে তবেই এই প্রপার্টি থাকে।

  • pendingUrl

    স্ট্রিং ঐচ্ছিক

    Chrome 79+ Chrome 148 থেকে browser.*

    ট্যাবটি যে URL-এ নেভিগেট করছে, সেটি কমিট করার আগে। এই প্রপার্টি তখনই থাকে যখন এক্সটেনশনের কাছে "tabs" অনুমতি থাকে বা পৃষ্ঠার জন্য হোস্টের অনুমতি থাকে এবং একটি মুলতুবি নেভিগেশন থাকে।

  • পিন করা হয়েছে

    বুলিয়ান

    ট্যাবটি পিন করা আছে কিনা।

  • বেছে নেওয়া হয়েছে

    বুলিয়ান

    বন্ধ করে দেওয়া হয়েছে

    tabs.Tab.highlighted ব্যবহার করুন।

    ট্যাবটি বেছে নেওয়া হয়েছে কিনা।

  • sessionId

    স্ট্রিং ঐচ্ছিক

    sessions API থেকে পাওয়া ট্যাব অনন্যভাবে শনাক্ত করতে সেশন আইডি ব্যবহার করা হয়।

  • splitViewId

    নম্বর ঐচ্ছিক

    Chrome 140+ Chrome 148 থেকে browser.*

    ট্যাবটি যে স্প্লিট ভিউয়ের অন্তর্গত সেটির আইডি।

  • স্ট্যাটাস

    TabStatus ঐচ্ছিক

    ট্যাবের লোডিং স্ট্যাটাস।

  • শীর্ষক

    স্ট্রিং ঐচ্ছিক

    ট্যাবের শীর্ষক। এক্সটেনশনের কাছে "tabs" অনুমতি থাকলে অথবা পৃষ্ঠার জন্য হোস্টের অনুমতি থাকলে তবেই এই প্রপার্টি থাকে।

  • URL

    স্ট্রিং ঐচ্ছিক

    ট্যাবের মূল ফ্রেমের শেষবার কমিট করা URL। এক্সটেনশনের কাছে "tabs" অনুমতি থাকলে অথবা পৃষ্ঠার জন্য হোস্টের অনুমতি থাকলে তবেই এই প্রপার্টি থাকে। ট্যাবটি এখনও কমিট করা না হলে এটি একটি খালি স্ট্রিং হতে পারে। এছাড়াও, Tab.pendingUrl দেখুন।

  • প্রস্থ

    নম্বর ঐচ্ছিক

    পিক্সেলে ট্যাবের প্রস্থ।

  • windowId

    নম্বর

    ট্যাবটি যে উইন্ডোতে আছে সেটির আইডি।

TabStatus

Chrome 44+ Chrome 148 থেকে browser.*

ট্যাবের লোডিং স্ট্যাটাস।

Enum

"আনলোড করা হয়েছে"

"লোড হচ্ছে"

"সম্পূর্ণ"

WindowType

Chrome 44+ Chrome 148 থেকে browser.*

উইন্ডোর ধরন।

Enum

"স্বাভাবিক"

"পপ-আপ"

"প্যানেল"

"অ্যাপ"

"devtools"

ZoomSettings

ট্যাবে জুম পরিবর্তন কীভাবে এবং কোন স্কোপে ম্যানেজ করা হয় তা নির্ধারণ করে।

প্রপার্টি

  • defaultZoomFactor

    নম্বর ঐচ্ছিক

    Chrome 43+ ব্রাউজার।* Chrome 148 থেকে

    tabs.getZoomSettings-এ কল করার সময় বর্তমান ট্যাবের জন্য ডিফল্ট জুম লেভেলে ফিরে যেতে ব্যবহার করা হয়।

  • মোড

    ZoomSettingsMode ঐচ্ছিক

    জুম পরিবর্তন কীভাবে ম্যানেজ করা হয় তা ব্যাখ্যা করে, অর্থাৎ, পৃষ্ঠার প্রকৃত স্কেলিংয়ের জন্য কোন এন্টিটি দায়ী; ডিফল্ট হিসেবে automatic থাকে।

  • স্কোপ

    ZoomSettingsScope ঐচ্ছিক

    পৃষ্ঠার উৎসের জন্য জুম পরিবর্তন বজায় থাকবে নাকি শুধুমাত্র এই ট্যাবে কার্যকর হবে তা নির্ধারণ করে; automatic মোডে থাকলে ডিফল্ট হিসেবে per-origin এবং অন্যথায় per-tab হয়।

ZoomSettingsMode

Chrome 44+ Chrome 148 থেকে browser.*

জুম পরিবর্তন কীভাবে ম্যানেজ করা হয় তা ব্যাখ্যা করে, অর্থাৎ, পৃষ্ঠার প্রকৃত স্কেলিংয়ের জন্য কোন এন্টিটি দায়ী; ডিফল্ট হিসেবে automatic-এ সেট করা থাকে।

Enum

"অটোমেটিক"
জুম সংক্রান্ত পরিবর্তন ব্রাউজার অটোমেটিক ম্যানেজ করে।

"ম্যানুয়াল"
জুম পরিবর্তনের অটোমেটিক হ্যান্ডলিং ওভাররাইড করে। onZoomChange ইভেন্ট এখনও পাঠানো হবে এবং এই ইভেন্ট শোনা ও ম্যানুয়ালি পৃষ্ঠা স্কেল করার দায়িত্ব এক্সটেনশনের। এই মোডে per-origin জুম করার সুবিধা কাজ করে না, তাই scope জুম সেটিং উপেক্ষা করে per-tab ধরে নেওয়া হয়।

"disabled"
ট্যাবে সব ধরনের জুম করার সুবিধা বন্ধ করে দেয়। ট্যাবটি ডিফল্ট জুম লেভেলে ফিরে আসে এবং জুম পরিবর্তন করার সব প্রচেষ্টা উপেক্ষা করা হয়।

ZoomSettingsScope

Chrome 44+ Chrome 148 থেকে browser.*

পৃষ্ঠার উৎসের জন্য জুম পরিবর্তন বজায় থাকবে নাকি শুধুমাত্র এই ট্যাবে কার্যকর হবে তা নির্ধারণ করে; automatic মোডে থাকলে ডিফল্ট হিসেবে per-origin এবং অন্যথায় per-tab হয়।

Enum

"প্রতি-অরিজিন"
জুম করা পৃষ্ঠার অরিজিনে জুম সংক্রান্ত পরিবর্তন বজায় থাকে, অর্থাৎ, একই অরিজিনে নেভিগেট করা অন্যান্য সব ট্যাবও জুম করা হয়। এছাড়াও, per-origin জুম পরিবর্তনগুলি অরিজিনের সাথে সেভ করা হয়, যার অর্থ হল একই অরিজিনের অন্যান্য পৃষ্ঠায় নেভিগেট করার সময়, সেগুলি সব একই জুম ফ্যাক্টরে জুম করা হয়। per-origin স্কোপ শুধুমাত্র automatic মোডে উপলভ্য।

"ট্যাব-প্রতি"
জুমের পরিবর্তন শুধুমাত্র এই ট্যাবে কার্যকর হয় এবং অন্যান্য ট্যাবে জুমের পরিবর্তন এই ট্যাবের জুমিংকে প্রভাবিত করে না। এছাড়াও, per-tab নেভিগেশনে জুম পরিবর্তন রিসেট করা হয়; কোনও ট্যাবে নেভিগেট করলে সবসময় তার per-origin জুম ফ্যাক্টর সহ পৃষ্ঠা লোড হয়।

প্রপার্টি

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+ browser.* Chrome 148 থেকে

প্রতি সেকেন্ডে সর্বাধিক যতবার captureVisibleTab কল করা যেতে পারে। captureVisibleTab-এর দাম বেশি এবং এটি খুব ঘন ঘন কল করা উচিত নয়।

ভ্যালু

২

SPLIT_VIEW_ID_NONE

Chrome 140+ Chrome 148 থেকে browser.*

একটি আইডি যা স্প্লিট ট্যাবের অনুপস্থিতি দেখায়।

ভ্যালু

-১

TAB_ID_NONE

Chrome 46+ Chrome 148 থেকে browser.*

ব্রাউজার ট্যাব না থাকার বিষয়টি বোঝায় এমন আইডি।

ভ্যালু

-১

TAB_INDEX_NONE

Chrome 123+ ব্রাউজার।* Chrome 148 থেকে

একটি ইন্ডেক্স যা tab_strip-এ ট্যাব ইন্ডেক্সের অনুপস্থিতি দেখায়।

ভ্যালু

-১

পদ্ধতি

captureVisibleTab()

browser.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
)
: Promise<string>

নির্দিষ্ট উইন্ডোতে বর্তমানে অ্যাক্টিভ ট্যাবের দৃশ্যমান অংশ ক্যাপচার করে। এই পদ্ধতি কল করার জন্য, এক্সটেনশনের কাছে হয় <all_urls> অনুমতি অথবা activeTab অনুমতি থাকতে হবে। এক্সটেনশন সাধারণত যেসব সাইট অ্যাক্সেস করতে পারে, তার পাশাপাশি এই পদ্ধতি এক্সটেনশনকে এমন সংবেদনশীল সাইট ক্যাপচার করার অনুমতি দেয় যা অন্যথায় সীমাবদ্ধ, এর মধ্যে chrome:-scheme পৃষ্ঠা, অন্যান্য এক্সটেনশনের পৃষ্ঠা এবং ডেটা: URL অন্তর্ভুক্ত। এইসব সংবেদনশীল সাইট শুধুমাত্র activeTab অনুমতির মাধ্যমে ক্যাপচার করা যেতে পারে। এক্সটেনশনকে ফাইল অ্যাক্সেস করার অনুমতি দেওয়া হলে তবেই ফাইল URL ক্যাপচার করা হতে পারে।

প্যারামিটারগুলি

রিটার্ন

  • Promise<string>

    Chrome 88+ Chrome 148 থেকে browser.*

connect()

browser.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

নির্দিষ্ট ট্যাবে কন্টেন্ট স্ক্রিপ্টের সাথে কানেক্ট করে। বর্তমান এক্সটেনশনের জন্য নির্দিষ্ট ট্যাবে রান করা প্রতিটি কন্টেন্ট স্ক্রিপ্টে runtime.onConnect ইভেন্ট ফায়ার করা হয়। আরও জানতে, কন্টেন্ট স্ক্রিপ্ট মেসেজিং দেখুন।

প্যারামিটারগুলি

  • tabId

    নম্বর

  • connectInfo

    অবজেক্ট ঐচ্ছিক

    • documentId

      স্ট্রিং ঐচ্ছিক

      Chrome 106+ Chrome 148 থেকে browser.*

      ট্যাবের সব ফ্রেমের পরিবর্তে documentId দ্বারা শনাক্ত করা নির্দিষ্ট ডকুমেন্ট-এ পোর্ট খুলুন।

    • frameId

      নম্বর ঐচ্ছিক

      ট্যাবের সব ফ্রেমের পরিবর্তে frameId দ্বারা শনাক্ত করা নির্দিষ্ট ফ্রেম-এ পোর্ট খুলুন।

    • নাম

      স্ট্রিং ঐচ্ছিক

      কন্টেন্ট স্ক্রিপ্টের জন্য onConnect-এ পাস করা হয় যা কানেকশন ইভেন্ট শুনছে।

রিটার্ন

  • নির্দিষ্ট ট্যাবে চলা কন্টেন্ট স্ক্রিপ্টের সাথে যোগাযোগ করার জন্য ব্যবহার করা যেতে পারে এমন একটি পোর্ট। ট্যাব বন্ধ হয়ে গেলে বা না থাকলে, পোর্টের runtime.Port ইভেন্ট ফায়ার করা হয়।

create()

browser.tabs.create(
  createProperties: object,
)
: Promise<Tab>

নতুন ট্যাব তৈরি করে।

প্যারামিটারগুলি

  • createProperties

    অবজেক্ট

    • অ্যাক্টিভ আছে

      বুলিয়ান ঐচ্ছিক

      ট্যাবটি উইন্ডোতে অ্যাক্টিভ ট্যাব হবে কিনা। উইন্ডো ফোকাস করা আছে কিনা তা প্রভাবিত করে না (windows.update দেখুন)। ডিফল্ট হিসেবে true-এ সেট করা থাকে।

    • সূচি

      নম্বর ঐচ্ছিক

      উইন্ডোতে ট্যাবটি যে পজিশনে থাকবে। প্রদত্ত মানটি শূন্য এবং উইন্ডোতে থাকা ট্যাবের সংখ্যার মধ্যে সীমাবদ্ধ।

    • openerTabId

      নম্বর ঐচ্ছিক

      যে ট্যাব এই ট্যাবটি খুলেছে সেটির আইডি। উল্লেখ করা থাকলে, ওপেনার ট্যাবটি অবশ্যই নতুন তৈরি করা ট্যাবের মতো একই উইন্ডোতে থাকতে হবে।

    • পিন করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      ট্যাবটি পিন করা উচিত কিনা। ডিফল্ট হিসেবে false সেট করা থাকে

    • বেছে নেওয়া হয়েছে

      বুলিয়ান ঐচ্ছিক

      বন্ধ করে দেওয়া হয়েছে

      অ্যাক্টিভ ব্যবহার করুন।

      উইন্ডোতে ট্যাবটি বেছে নেওয়া ট্যাব হবে কিনা। ডিফল্ট হিসেবে true সেট করা থাকে

    • splitWithTabId

      নম্বর ঐচ্ছিক

      Chrome 155+

      আগে থেকে থাকা কোনও ট্যাবের আইডি যার সাথে স্প্লিট ভিউ তৈরি করা হবে। উল্লেখ করা থাকলে, 'স্প্লিট-উইথ' ট্যাবকে নিম্নলিখিত শর্ত পূরণ করতে হবে:

      • এটি আগে থেকে স্প্লিট করা ট্যাব হলে চলবে না।
      • এটি অবশ্যই নতুন তৈরি করা ট্যাবের মতো একই উইন্ডোতে থাকতে হবে।
      • windowId উল্লেখ করা থাকলে, এটি অবশ্যই স্প্লিট-উইথ ট্যাবের উইন্ডো আইডির মতো একই হতে হবে।
      • index নির্দিষ্ট করা থাকলে, এটি অবশ্যই স্প্লিট-উইথ ট্যাবের সংলগ্ন একটি ইন্ডেক্স হতে হবে এবং নতুন তৈরি করা ট্যাবের আপেক্ষিক পজিশনিংকে প্রভাবিত করবে।
    • URL

      স্ট্রিং ঐচ্ছিক

      ট্যাবটি প্রাথমিকভাবে নেভিগেট করার URL। সম্পূর্ণ-যোগ্য URL-এ অবশ্যই একটি স্কিম অন্তর্ভুক্ত থাকতে হবে (যেমন, 'http://www.google.com', 'www.google.com' নয়)। এক্সটেনশনের মধ্যে বর্তমান পৃষ্ঠার সাথে রিলেটিভ URL সম্পর্কিত। ডিফল্ট হিসেবে নতুন ট্যাব পৃষ্ঠা সেট করা থাকে।

    • windowId

      নম্বর ঐচ্ছিক

      যে উইন্ডোতে নতুন ট্যাব তৈরি করতে হবে। ডিফল্ট হিসেবে বর্তমান উইন্ডো সেট করা থাকে।

রিটার্ন

  • Promise<Tab>

    Chrome 88+ Chrome 148 থেকে browser.*

createSplit()

Chrome 155+
browser.tabs.createSplit(
  tabIds: [number, number],
)
: Promise<number>

আগে থেকে থাকা দুটি ট্যাবকে স্প্লিট ভিউতে ভাগ করে।

প্যারামিটারগুলি

  • tabIds

    [number, number]

    স্প্লিট ভিউতে পেয়ার করার জন্য ঠিক দুটি ট্যাব আইডির একটি অ্যারে। সব ট্যাবকে নিম্নলিখিত শর্ত পূরণ করতে হবে:

    এগুলি অবশ্যই পাশাপাশি থাকতে হবে। সেগুলি আগে থেকে স্প্লিট ভিউতে থাকলে চলবে না। সেগুলির windowId, pinned ও groupId স্ট্যাটাস ম্যাচ করতে হবে।

রিটার্ন

  • Promise<number>

detectLanguage()

browser.tabs.detectLanguage(
  tabId?: number,
)
: Promise<string>

ট্যাবে কন্টেন্টের প্রাথমিক ভাষা শনাক্ত করে।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    ডিফল্ট হিসেবে বর্তমান উইন্ডো-এর অ্যাক্টিভ ট্যাবে সেট করা থাকে।

রিটার্ন

  • Promise<string>

    Chrome 88+ Chrome 148 থেকে browser.*

discard()

Chrome 54+ Chrome 148 থেকে browser.*
browser.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

মেমরি থেকে ট্যাব বাতিল করে। বাতিল করা ট্যাবগুলি এখনও ট্যাব বারে দেখা যায় এবং অ্যাক্টিভেট করা হলে আবার লোড হয়।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

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

রিটার্ন

  • <ট্যাব | অনির্দিষ্ট> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

    অপারেশন সম্পূর্ণ হওয়ার পরে সমাধান করে।

duplicate()

browser.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

ট্যাব ডুপ্লিকেট করে।

প্যারামিটারগুলি

  • tabId

    নম্বর

    ডুপ্লিকেট করার জন্য ট্যাবের আইডি।

রিটার্ন

  • <ট্যাব | অনির্দিষ্ট> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

get()

browser.tabs.get(
  tabId: number,
)
: Promise<Tab>

নির্দিষ্ট ট্যাব সম্পর্কে বিবরণ ফিরিয়ে আনে।

প্যারামিটারগুলি

  • tabId

    নম্বর

রিটার্ন

  • Promise<Tab>

    Chrome 88+ Chrome 148 থেকে browser.*

getCurrent()

browser.tabs.getCurrent(): Promise<Tab | undefined>

এই স্ক্রিপ্ট কল যে ট্যাব থেকে করা হচ্ছে সেটি পায়। ট্যাব নয় এমন প্রসঙ্গ থেকে কল করা হলে undefined রিটার্ন করে (যেমন, ব্যাকগ্রাউন্ড পৃষ্ঠা বা পপ-আপ ভিউ)।

রিটার্ন

  • <ট্যাব | অনির্দিষ্ট> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

getZoom()

browser.tabs.getZoom(
  tabId?: number,
)
: Promise<number>

নির্দিষ্ট ট্যাবের বর্তমান জুম ফ্যাক্টর পায়।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    বর্তমান জুম ফ্যাক্টর পাওয়ার জন্য ট্যাবের আইডি; বর্তমান উইন্ডোর অ্যাক্টিভ ট্যাবে ডিফল্ট হিসেবে সেট করা থাকে।

রিটার্ন

  • Promise<number>

    Chrome 88+ Chrome 148 থেকে browser.*

    ট্যাবের বর্তমান জুম ফ্যাক্টর ফেচ করার পরে এটি সমাধান করে।

getZoomSettings()

browser.tabs.getZoomSettings(
  tabId?: number,
)
: Promise<ZoomSettings>

নির্দিষ্ট ট্যাবের বর্তমান জুম সেটিংস দেখায়।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    বর্তমান জুম সেটিংস পেতে ট্যাবের আইডি; বর্তমান উইন্ডোর অ্যাক্টিভ ট্যাবে ডিফল্ট হিসেবে সেট করা থাকে।

রিটার্ন

  • Promise<ZoomSettings>

    Chrome 88+ Chrome 148 থেকে browser.*

    ট্যাবের বর্তমান জুম সেটিংসের সাথে সমাধান করে।

goBack()

Chrome 72+ ব্রাউজার।* Chrome 148 থেকে
browser.tabs.goBack(
  tabId?: number,
)
: Promise<void>

আগের পৃষ্ঠা উপলভ্য থাকলে, সেখানে ফিরে যান।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    ফিরে যাওয়ার জন্য ট্যাবের আইডি; ডিফল্ট হিসেবে বর্তমান উইন্ডোর বেছে নেওয়া ট্যাবে ফিরে যায়।

রিটার্ন

  • <void> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

goForward()

Chrome 72+ ব্রাউজার।* Chrome 148 থেকে
browser.tabs.goForward(
  tabId?: number,
)
: Promise<void>

পরবর্তী পৃষ্ঠা উপলভ্য থাকলে, সেখানে যান।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    সামনে নেভিগেট করার জন্য ট্যাবের আইডি; বর্তমান উইন্ডোর বেছে নেওয়া ট্যাবে ডিফল্ট হিসেবে সেট করা থাকে।

রিটার্ন

  • <void> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

group()

Chrome 88+ Chrome 148 থেকে browser.*
browser.tabs.group(
  options: object,
)
: Promise<number>

নির্দিষ্ট গ্রুপে এক বা একাধিক ট্যাব যোগ করে অথবা কোনও গ্রুপ নির্দিষ্ট করা না থাকলে, নতুন তৈরি করা গ্রুপে প্রদত্ত ট্যাব যোগ করে।

প্যারামিটারগুলি

  • বিকল্প

    অবজেক্ট

    • createProperties

      অবজেক্ট ঐচ্ছিক

      গ্রুপ তৈরি করার জন্য কনফিগারেশন। groupId আগে থেকেই উল্লেখ করা থাকলে ব্যবহার করা যাবে না।

      • windowId

        নম্বর ঐচ্ছিক

        নতুন গ্রুপের উইন্ডো। ডিফল্ট হিসেবে বর্তমান উইন্ডো সেট করা থাকে।

    • groupId

      নম্বর ঐচ্ছিক

      যে গ্রুপে ট্যাব যোগ করতে হবে সেটির আইডি। উল্লেখ না করা থাকলে, নতুন গ্রুপ তৈরি করা হবে।

    • tabIds

      number | [number, ...number[]]

      নির্দিষ্ট গ্রুপে যোগ করার জন্য ট্যাব আইডি বা ট্যাব আইডির তালিকা।

রিটার্ন

  • Promise<number>

highlight()

browser.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

প্রদত্ত ট্যাব হাইলাইট করে এবং গ্রুপের প্রথম ট্যাবে ফোকাস করে। নির্দিষ্ট করা ট্যাব বর্তমানে অ্যাক্টিভ থাকলে, কিছু করা হবে না।

প্যারামিটারগুলি

  • highlightInfo

    অবজেক্ট

    • ট্যাব

      number | number[]

      হাইলাইট করার জন্য এক বা একাধিক ট্যাব ইন্ডেক্স।

    • windowId

      নম্বর ঐচ্ছিক

      যে উইন্ডোতে ট্যাবগুলি রয়েছে।

রিটার্ন

  • Chrome 88+ Chrome 148 থেকে browser.*

move()

browser.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

এক বা একাধিক ট্যাবকে তার উইন্ডোর মধ্যে নতুন পজিশনে বা নতুন উইন্ডোতে সরায়। মনে রাখবেন, ট্যাব শুধুমাত্র সাধারণ (window.type === "normal") উইন্ডোতে এবং সেখান থেকে সরানো যেতে পারে।

প্যারামিটারগুলি

  • tabIds

    number | number[]

    ট্যাব আইডি বা সরানোর জন্য ট্যাব আইডির তালিকা।

  • moveProperties

    অবজেক্ট

    • সূচি

      নম্বর

      উইন্ডোটি যে পজিশনে সরাতে হবে। উইন্ডোর শেষে ট্যাবটি রাখতে -1 ব্যবহার করুন।

    • windowId

      নম্বর ঐচ্ছিক

      ট্যাবটি বর্তমানে যে উইন্ডোতে আছে সেটি ডিফল্ট হিসেবে সেট করা হয়।

রিটার্ন

  • Promise<Tab | Tab[]>

    Chrome 88+ Chrome 148 থেকে browser.*

query()

browser.tabs.query(
  queryInfo: object,
)
: Promise<Tab[]>

নির্দিষ্ট প্রপার্টি সহ সব ট্যাব বা কোনও প্রপার্টি নির্দিষ্ট করা না থাকলে সব ট্যাব দেখায়।

প্যারামিটারগুলি

  • queryInfo

    অবজেক্ট

    • অ্যাক্টিভ আছে

      বুলিয়ান ঐচ্ছিক

      ট্যাবগুলি তাদের উইন্ডোতে অ্যাক্টিভ আছে কিনা।

    • audible

      বুলিয়ান ঐচ্ছিক

      Chrome 45+ ব্রাউজার।* Chrome 148 থেকে

      ট্যাবগুলি শোনা যাচ্ছে কিনা।

    • autoDiscardable

      বুলিয়ান ঐচ্ছিক

      Chrome 54+ Chrome 148 থেকে browser.*

      রিসোর্স কম থাকলে, ব্রাউজার অটোমেটিক ট্যাব বাতিল করতে পারবে কিনা।

    • currentWindow

      বুলিয়ান ঐচ্ছিক

      ট্যাবগুলি বর্তমান উইন্ডোতে আছে কিনা।

    • বাতিল করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      Chrome 54+ Chrome 148 থেকে browser.*

      ট্যাবগুলি বাতিল করা হয়েছে কিনা। বাতিল করা ট্যাব হল এমন একটি ট্যাব যার কন্টেন্ট মেমরি থেকে আনলোড করা হয়েছে, কিন্তু এখনও ট্যাব বারে দেখা যাচ্ছে। পরের বার এটি অ্যাক্টিভেট করা হলে, এর কন্টেন্ট আবার লোড করা হয়।

    • ফ্রিজ হয়ে গেছে

      বুলিয়ান ঐচ্ছিক

      Chrome 132+ Chrome 148 থেকে browser.*

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

    • groupId

      নম্বর ঐচ্ছিক

      Chrome 88+ Chrome 148 থেকে browser.*

      ট্যাবগুলি যে গ্রুপে আছে তার আইডি, অথবা গ্রুপ করা হয়নি এমন ট্যাবের জন্য tabGroups.TAB_GROUP_ID_NONE।

    • হাইলাইট করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      ট্যাব হাইলাইট করা হয়েছে কিনা।

    • সূচি

      নম্বর ঐচ্ছিক

      উইন্ডোর মধ্যে ট্যাবের পজিশন।

    • lastFocusedWindow

      বুলিয়ান ঐচ্ছিক

      ট্যাবগুলি শেষবার ফোকাস করা উইন্ডোতে আছে কিনা।

    • মিউট করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      Chrome 45+ ব্রাউজার।* Chrome 148 থেকে

      ট্যাবগুলি মিউট করা আছে কিনা।

    • পিন করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      ট্যাবগুলি পিন করা আছে কিনা।

    • splitViewId

      নম্বর ঐচ্ছিক

      Chrome 140+ Chrome 148 থেকে browser.*

      ট্যাবগুলি যে স্প্লিট ভিউতে আছে তার আইডি, অথবা স্প্লিট ভিউতে নেই এমন ট্যাবের জন্য tabs.SPLIT_VIEW_ID_NONE।

    • স্ট্যাটাস

      TabStatus ঐচ্ছিক

      ট্যাব লোড হওয়ার স্ট্যাটাস।

    • শীর্ষক

      স্ট্রিং ঐচ্ছিক

      কোনও প্যাটার্নের সাথে পৃষ্ঠার শীর্ষক ম্যাচ করুন। এক্সটেনশনের কাছে "tabs" অনুমতি বা পৃষ্ঠার জন্য হোস্ট অনুমতি না থাকলে এই প্রপার্টি উপেক্ষা করা হয়।

    • URL

      স্ট্রিং | স্ট্রিং[] ঐচ্ছিক

      এক বা একাধিক URL প্যাটার্নের সাথে ট্যাব ম্যাচ করুন। ফ্র্যাগমেন্ট শনাক্তকারী মেলেনি। এক্সটেনশনের কাছে "tabs" অনুমতি বা পৃষ্ঠার জন্য হোস্ট অনুমতি না থাকলে এই প্রপার্টি উপেক্ষা করা হয়।

    • windowId

      নম্বর ঐচ্ছিক

      প্যারেন্ট উইন্ডোর আইডি অথবা বর্তমান উইন্ডোর জন্য windows.WINDOW_ID_CURRENT।

    • windowType

      WindowType ঐচ্ছিক

      ট্যাবগুলি যে ধরনের উইন্ডোতে আছে।

রিটার্ন

  • Promise<Tab[]>

    Chrome 88+ Chrome 148 থেকে browser.*

reload()

browser.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
)
: Promise<void>

ট্যাব আবার লোড করুন।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    রিলোড করার জন্য ট্যাবের আইডি; ডিফল্ট হিসেবে বর্তমান উইন্ডোর বেছে নেওয়া ট্যাব।

  • reloadProperties

    অবজেক্ট ঐচ্ছিক

    • bypassCache

      বুলিয়ান ঐচ্ছিক

      লোকাল ক্যাশিং বাইপাস করা হবে কিনা। ডিফল্ট হিসেবে false সেট করা থাকে।

রিটার্ন

  • <void> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

remove()

browser.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

এক বা একাধিক ট্যাব বন্ধ করে।

প্যারামিটারগুলি

  • tabIds

    number | number[]

    ট্যাব আইডি বা বন্ধ করার জন্য ট্যাব আইডির তালিকা।

রিটার্ন

  • <void> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

sendMessage()

browser.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
)
: Promise<any>

নির্দিষ্ট ট্যাবে কন্টেন্ট স্ক্রিপ্টে একটি মেসেজ পাঠায়। বর্তমান এক্সটেনশনের জন্য নির্দিষ্ট ট্যাবে রান করা প্রতিটি কন্টেন্ট স্ক্রিপ্টে runtime.onMessage ইভেন্ট ফায়ার করা হয়।

প্যারামিটারগুলি

  • tabId

    নম্বর

  • মেসেজ

    যেকোনও

    যে মেসেজ পাঠাতে হবে। এই মেসেজটি JSON-ifiable অবজেক্ট হতে হবে।

  • বিকল্প

    অবজেক্ট ঐচ্ছিক

    • documentId

      স্ট্রিং ঐচ্ছিক

      Chrome 106+ Chrome 148 থেকে browser.*

      ট্যাবের সব ফ্রেমের পরিবর্তে documentId দ্বারা শনাক্ত করা নির্দিষ্ট ডকুমেন্টে মেসেজ পাঠান।

    • frameId

      নম্বর ঐচ্ছিক

      ট্যাবের সব ফ্রেমের পরিবর্তে frameId দ্বারা শনাক্ত করা নির্দিষ্ট ফ্রেমে মেসেজ পাঠান।

রিটার্ন

  • <any> প্রমিস

    Chrome 99+ Chrome 148 থেকে browser.*

    কন্টেন্ট স্ক্রিপ্ট থেকে পাওয়া উত্তরের মাধ্যমে সমাধান করে এমন প্রমিস। নির্দিষ্ট ট্যাবে কানেক্ট করার সময় কোনও সমস্যা হলে, প্রমিস বাতিল করা হবে।

setZoom()

browser.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
)
: Promise<void>

নির্দিষ্ট ট্যাব জুম করে।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    জুম করার জন্য ট্যাবের আইডি; ডিফল্ট হিসেবে বর্তমান উইন্ডোর অ্যাক্টিভ ট্যাবে সেট করা থাকে।

  • zoomFactor

    নম্বর

    নতুন জুম ফ্যাক্টর। 0 ভ্যালু সেট করলে ট্যাবটি তার বর্তমান ডিফল্ট জুম ফ্যাক্টরে সেট হয়ে যায়। 0-এর থেকে বেশি ভ্যালু ট্যাবের জন্য একটি (সম্ভবত ডিফল্ট নয়) জুম ফ্যাক্টর নির্দিষ্ট করে।

রিটার্ন

  • <void> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

    জুম ফ্যাক্টর পরিবর্তন করার পরে সমাধান করে।

setZoomSettings()

browser.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
)
: Promise<void>

নির্দিষ্ট ট্যাবের জন্য জুম সেটিংস সেট করে, যা জুম পরিবর্তন কীভাবে ম্যানেজ করা হয় তা নির্ধারণ করে। ট্যাবে নেভিগেট করার সময় এই সেটিংস ডিফল্টে রিসেট হয়ে যায়।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    জুম সেটিংস পরিবর্তন করার জন্য ট্যাবের আইডি; বর্তমান উইন্ডোর অ্যাক্টিভ ট্যাবে ডিফল্ট হিসেবে সেট করা থাকে।

  • zoomSettings

    জুম পরিবর্তন কীভাবে এবং কোন স্কোপে ম্যানেজ করা হয় তা নির্ধারণ করে।

রিটার্ন

  • <void> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

    জুম সেটিংস পরিবর্তন করার পরে সমাধান হয়ে যায়।

ungroup()

Chrome 88+ Chrome 148 থেকে browser.*
browser.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

এক বা একাধিক ট্যাবকে তাদের সংশ্লিষ্ট গ্রুপ থেকে সরিয়ে দেয়। কোনও গ্রুপ খালি হয়ে গেলে, সেটি মুছে ফেলা হয়।

প্যারামিটারগুলি

  • tabIds

    number | [number, ...number[]]

    ট্যাব আইডি বা ট্যাব আইডির তালিকা যা সংশ্লিষ্ট গ্রুপ থেকে সরাতে হবে।

রিটার্ন

  • <void> প্রমিস

unsplit()

Chrome 155+
browser.tabs.unsplit(
  splitViewId: number,
)
: Promise<void>

'স্প্লিট ভিউ'-তে ট্যাবগুলিকে স্বাধীন ট্যাবে আলাদা করে।

প্যারামিটারগুলি

  • splitViewId

    নম্বর

    আলাদা করার জন্য স্প্লিট ভিউয়ের আইডি।

রিটার্ন

  • <void> প্রমিস

update()

browser.tabs.update(
  tabId?: number,
  updateProperties: object,
)
: Promise<Tab | undefined>

ট্যাবের প্রপার্টি পরিবর্তন করে। updateProperties-এ উল্লেখ করা নেই এমন প্রপার্টি পরিবর্তন করা হয় না।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    ডিফল্ট হিসেবে বর্তমান উইন্ডো-এর বেছে নেওয়া ট্যাবে সেট করা থাকে।

  • updateProperties

    অবজেক্ট

    • অ্যাক্টিভ আছে

      বুলিয়ান ঐচ্ছিক

      ট্যাবটি অ্যাক্টিভ থাকা উচিত কিনা। উইন্ডো ফোকাস করা আছে কিনা তা প্রভাবিত করে না (windows.update দেখুন)।

    • autoDiscardable

      বুলিয়ান ঐচ্ছিক

      Chrome 54+ Chrome 148 থেকে browser.*

      রিসোর্স কম থাকলে, ব্রাউজার অটোমেটিক ট্যাবটি বাতিল করবে কিনা।

    • হাইলাইট করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      বর্তমানে বেছে নেওয়া বিকল্প থেকে ট্যাব যোগ করে বা সরিয়ে দেয়।

    • মিউট করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      Chrome 45+ ব্রাউজার।* Chrome 148 থেকে

      ট্যাবটি মিউট করা উচিত কিনা।

    • openerTabId

      নম্বর ঐচ্ছিক

      যে ট্যাব এই ট্যাবটি খুলেছে সেটির আইডি। নির্দিষ্ট করা থাকলে, ওপেনার ট্যাবটি অবশ্যই এই ট্যাবের মতো একই উইন্ডোতে থাকতে হবে।

    • পিন করা হয়েছে

      বুলিয়ান ঐচ্ছিক

      ট্যাবটি পিন করা উচিত কিনা।

    • বেছে নেওয়া হয়েছে

      বুলিয়ান ঐচ্ছিক

      বন্ধ করে দেওয়া হয়েছে

      হাইলাইট করা ব্যবহার করুন।

      ট্যাবটি বেছে নেওয়া উচিত কিনা।

    • URL

      স্ট্রিং ঐচ্ছিক

      ট্যাবে নেভিগেট করার জন্য একটি URL। জাভাস্ক্রিপ্ট URL কাজ করে না; পরিবর্তে scripting.executeScript ব্যবহার করুন।

রিটার্ন

  • <ট্যাব | অনির্দিষ্ট> প্রমিস

    Chrome 88+ Chrome 148 থেকে browser.*

ইভেন্ট

onActivated

browser.tabs.onActivated.addListener(
  callback: function,
)

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

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (activeInfo: object) => void

    • activeInfo

      অবজেক্ট

      • tabId

        নম্বর

        অ্যাক্টিভ হয়ে যাওয়া ট্যাবের আইডি।

      • windowId

        নম্বর

        অ্যাক্টিভ ট্যাব যে উইন্ডোর মধ্যে পরিবর্তন করা হয়েছে সেটির আইডি।

onAttached

browser.tabs.onAttached.addListener(
  callback: function,
)

কোনও উইন্ডোতে ট্যাব অ্যাটাচ করা হলে ফায়ার করা হয়; যেমন, উইন্ডোর মধ্যে এটি সরানো হয়েছে বলে।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tabId: number, attachInfo: object) => void

    • tabId

      নম্বর

    • attachInfo

      অবজেক্ট

      • newPosition

        নম্বর

      • newWindowId

        নম্বর

onCreated

browser.tabs.onCreated.addListener(
  callback: function,
)

ট্যাব তৈরি করা হলে ফায়ার করা হয়। মনে রাখবেন, এই ইভেন্টটি ফায়ার করার সময় ট্যাবের URL এবং ট্যাব গ্রুপের মেম্বারশিপ সেট নাও করা হতে পারে, তবে আপনি onUpdated ইভেন্ট শুনতে পারেন যাতে কোনও URL সেট করা হলে বা ট্যাবটি কোনও ট্যাব গ্রুপে যোগ করা হলে বিজ্ঞপ্তি পেতে পারেন।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tab: Tab) => void

onDetached

browser.tabs.onDetached.addListener(
  callback: function,
)

কোনও উইন্ডো থেকে ট্যাব সরিয়ে দেওয়া হলে ফায়ার করা হয়; যেমন, উইন্ডোর মধ্যে এটি সরানো হয়েছে বলে।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tabId: number, detachInfo: object) => void

    • tabId

      নম্বর

    • detachInfo

      অবজেক্ট

      • oldPosition

        নম্বর

      • oldWindowId

        নম্বর

onHighlighted

browser.tabs.onHighlighted.addListener(
  callback: function,
)

উইন্ডোতে হাইলাইট করা বা বেছে নেওয়া ট্যাব পরিবর্তন হলে ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (highlightInfo: object) => void

    • highlightInfo

      অবজেক্ট

      • tabIds

        সংখ্যা[]

        উইন্ডোতে হাইলাইট করা সব ট্যাব।

      • windowId

        নম্বর

        যে উইন্ডোর ট্যাব পরিবর্তন করা হয়েছে।

onMoved

browser.tabs.onMoved.addListener(
  callback: function,
)

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

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tabId: number, moveInfo: object) => void

    • tabId

      নম্বর

    • moveInfo

      অবজেক্ট

      • fromIndex

        নম্বর

      • toIndex

        নম্বর

      • windowId

        নম্বর

onRemoved

browser.tabs.onRemoved.addListener(
  callback: function,
)

ট্যাব বন্ধ করা হলে ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tabId: number, removeInfo: object) => void

    • tabId

      নম্বর

    • removeInfo

      অবজেক্ট

      • isWindowClosing

        বুলিয়ান

        ট্যাব বন্ধ হয়ে গেলে ট্রু হিসেবে বিবেচিত হয় কারণ এর পেরেন্ট উইন্ডো বন্ধ হয়ে গেছে।

      • windowId

        নম্বর

        যে উইন্ডোর ট্যাব বন্ধ করা হয়েছে।

onReplaced

browser.tabs.onReplaced.addListener(
  callback: function,
)

প্রিরেন্ডারিং বা ইনস্ট্যান্টের কারণে একটি ট্যাব অন্য ট্যাব দিয়ে পরিবর্তন করা হলে ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      নম্বর

    • removedTabId

      নম্বর

onUpdated

browser.tabs.onUpdated.addListener(
  callback: function,
)

ট্যাব আপডেট করা হলে ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      নম্বর

    • changeInfo

      অবজেক্ট

      • audible

        বুলিয়ান ঐচ্ছিক

        Chrome 45+ ব্রাউজার।* Chrome 148 থেকে

        ট্যাবের নতুন অডিবল স্ট্যাটাস।

      • autoDiscardable

        বুলিয়ান ঐচ্ছিক

        Chrome 54+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন অটো-ডিসকার্ডেবল স্ট্যাটাস।

      • বাতিল করা হয়েছে

        বুলিয়ান ঐচ্ছিক

        Chrome 54+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন বাতিল করা স্ট্যাটাস।

      • favIconUrl

        স্ট্রিং ঐচ্ছিক

        ট্যাবের নতুন ফেভিকন URL।

      • ফ্রিজ হয়ে গেছে

        বুলিয়ান ঐচ্ছিক

        Chrome 132+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন ফ্রোজেন স্ট্যাটাস।

      • groupId

        নম্বর ঐচ্ছিক

        Chrome 88+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন গ্রুপ।

      • mutedInfo

        MutedInfo ঐচ্ছিক

        Chrome 46+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন মিউট করা স্ট্যাটাস এবং পরিবর্তনের কারণ।

      • পিন করা হয়েছে

        বুলিয়ান ঐচ্ছিক

        ট্যাবের নতুন পিন করা স্ট্যাটাস।

      • splitViewId

        নম্বর ঐচ্ছিক

        Chrome 140+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন স্প্লিট ভিউ।

      • স্ট্যাটাস

        TabStatus ঐচ্ছিক

        ট্যাবের লোডিং স্ট্যাটাস।

      • শীর্ষক

        স্ট্রিং ঐচ্ছিক

        Chrome 48+ Chrome 148 থেকে browser.*

        ট্যাবের নতুন শীর্ষক।

      • URL

        স্ট্রিং ঐচ্ছিক

        ট্যাবের URL পরিবর্তন হয়ে থাকলে।

    • ট্যাব

onZoomChange

browser.tabs.onZoomChange.addListener(
  callback: function,
)

ট্যাব জুম করা হলে ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      অবজেক্ট

      • newZoomFactor

        নম্বর

      • oldZoomFactor

        নম্বর

      • tabId

        নম্বর

      • zoomSettings