ব্রাউজার.ট্যাবস

বর্ণনা

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

ট্যাবস এপিআই শুধু ট্যাব পরিচালনা ও নিয়ন্ত্রণের সুবিধাই দেয় না, বরং এটি ট্যাবের ভাষা শনাক্ত করতে, স্ক্রিনশট নিতে এবং ট্যাবের কন্টেন্ট স্ক্রিপ্টের সাথে যোগাযোগ করতেও পারে।

অনুমতি

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

ট্যাবস এপিআই নিয়ে কাজ করার সময় ডেভেলপারদের তিনটি পারমিশন সম্পর্কে সচেতন থাকা উচিত।

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

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

{
  "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"
    });
  }
});

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

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

  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.
}

সম্প্রসারণের উদাহরণ

ট্যাব এপিআই এক্সটেনশনের আরও ডেমো দেখতে নিচের যেকোনো একটি অন্বেষণ করুন:

প্রকারভেদ

MutedInfo

ক্রোম ৪৬+

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

বৈশিষ্ট্য

  • এক্সটেনশন আইডি

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

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

  • নিঃশব্দ

    বুলিয়ান

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

  • কারণ

    MutedInfoReason ঐচ্ছিক

    ট্যাবটি মিউট বা আনমিউট করার কারণ। যদি ট্যাবটির মিউট অবস্থা কখনও পরিবর্তন করা না হয়ে থাকে, তবে এটি সেট করা নেই।

MutedInfoReason

ক্রোম ৪৬+

এমন একটি ঘটনা যা একটি মৃদু অবস্থা পরিবর্তন ঘটিয়েছে।

এনাম

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

"ক্যাপচার"
ট্যাব ক্যাপচার শুরু হওয়ায় মিউট অবস্থা পরিবর্তিত হয়েছে।

"সম্প্রসারণ"
extensionId ফিল্ড দ্বারা চিহ্নিত একটি এক্সটেনশন মিউট অবস্থাটি সেট করে।

Tab

বৈশিষ্ট্য

  • সক্রিয়

    বুলিয়ান

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

  • শ্রবণযোগ্য

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

    ক্রোম ৪৫+

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

  • স্বয়ংক্রিয়ভাবে বাতিলযোগ্য

    বুলিয়ান

    ক্রোম ৫৪+

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

  • বাতিল করা

    বুলিয়ান

    ক্রোম ৫৪+

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

  • প্রিয় আইকন ইউআরএল

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

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

  • হিমায়িত

    বুলিয়ান

    ক্রোম ১৩২+

    ট্যাবটি ফ্রোজেন বা স্থির আছে কিনা। একটি ফ্রোজেন ট্যাব ইভেন্ট হ্যান্ডলার বা টাইমার সহ কোনো কাজ সম্পাদন করতে পারে না। এটি ট্যাব স্ট্রিপে দৃশ্যমান থাকে এবং এর বিষয়বস্তু মেমরিতে লোড হয়। সক্রিয় করলে এটি আনফ্রোজেন হয়ে যায়।

  • গ্রুপ আইডি

    সংখ্যা

    ক্রোম ৮৮+

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

  • উচ্চতা

    সংখ্যা ঐচ্ছিক

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

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

    বুলিয়ান

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

  • আইডি

    সংখ্যা ঐচ্ছিক

    ট্যাবের আইডি। একটি ব্রাউজার সেশনের মধ্যে ট্যাব আইডিগুলো অনন্য হয়। কিছু পরিস্থিতিতে একটি ট্যাবকে আইডি দেওয়া নাও হতে পারে; উদাহরণস্বরূপ, sessions API) ব্যবহার করে অন্য ট্যাবগুলো কোয়েরি করার সময়, সেক্ষেত্রে একটি সেশন আইডি থাকতে পারে। অ্যাপস এবং ডেভটুলস উইন্ডোগুলোর জন্য ট্যাব আইডি chrome.tabs.TAB_ID_NONE এ সেট করা যেতে পারে।

  • ছদ্মবেশে

    বুলিয়ান

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

  • সূচক

    সংখ্যা

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

  • সর্বশেষ অ্যাক্সেস করা হয়েছে

    সংখ্যা

    ক্রোম ১২১+

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

  • মিউটইনফো

    MutedInfo ঐচ্ছিক

    ক্রোম ৪৬+

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

  • ওপেনারট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

  • pendingUrl

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

    ক্রোম ৭৯+

    ট্যাবটি যে URL-এ নেভিগেট করছে, সেটি চূড়ান্ত হওয়ার আগে। এই প্রপার্টিটি কেবল তখনই উপস্থিত থাকে, যদি এক্সটেনশনটির "tabs" পারমিশন অথবা পেজটির জন্য হোস্ট পারমিশন থাকে এবং একটি পেন্ডিং নেভিগেশন থাকে।

  • পিন করা

    বুলিয়ান

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

  • নির্বাচিত

    বুলিয়ান

    অপ্রচলিত

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

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

  • সেশনআইডি

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

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

  • splitViewId

    সংখ্যা ঐচ্ছিক

    ক্রোম ১৪০+

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

  • অবস্থা

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

  • শিরোনাম

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

    ট্যাবের শিরোনাম। এই প্রপার্টিটি কেবল তখনই উপস্থিত থাকে, যদি এক্সটেনশনটির "tabs" পারমিশন অথবা পেজটির জন্য হোস্ট পারমিশন থাকে।

  • ইউআরএল

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

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

  • প্রস্থ

    সংখ্যা ঐচ্ছিক

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

  • উইন্ডোআইডি

    সংখ্যা

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

TabStatus

ক্রোম ৪৪+

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

এনাম

"আনলোড করা"

"লোডিং"

"সম্পূর্ণ"

WindowType

ক্রোম ৪৪+

জানালার ধরণ।

এনাম

"স্বাভাবিক"

"পপআপ"

"প্যানেল"

'অ্যাপ'

"ডেভটুলস"

ZoomSettings

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

বৈশিষ্ট্য

  • ডিফল্ট জুম ফ্যাক্টর

    সংখ্যা ঐচ্ছিক

    ক্রোম ৪৩+

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

  • মোড

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

  • পরিধি

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

ZoomSettingsMode

ক্রোম ৪৪+

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

এনাম

"স্বয়ংক্রিয়"
জুম পরিবর্তনগুলো ব্রাউজার দ্বারা স্বয়ংক্রিয়ভাবে সম্পন্ন হয়।

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

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

ZoomSettingsScope

ক্রোম ৪৪+

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

এনাম

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

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

বৈশিষ্ট্য

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

ক্রোম ৯২+

প্রতি সেকেন্ডে সর্বোচ্চ যতবার captureVisibleTab কল করা যাবে। captureVisibleTab একটি ব্যয়বহুল প্রক্রিয়া এবং এটি খুব ঘন ঘন কল করা উচিত নয়।

মূল্য


SPLIT_VIEW_ID_NONE

ক্রোম ১৪০+

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

মূল্য

-১

TAB_ID_NONE

ক্রোম ৪৬+

একটি আইডি যা ব্রাউজার ট্যাবের অনুপস্থিতি নির্দেশ করে।

মূল্য

-১

TAB_INDEX_NONE

ক্রোম ১২৩+

একটি সূচক যা একটি ট্যাব_স্ট্রিপে ট্যাব সূচকের অনুপস্থিতি নির্দেশ করে।

মূল্য

-১

পদ্ধতি

captureVisibleTab()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<string>

    ক্রোম ৮৮+

connect()

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

নির্দিষ্ট ট্যাবে থাকা কন্টেন্ট স্ক্রিপ্ট(গুলি)-এর সাথে সংযোগ স্থাপন করে। বর্তমান এক্সটেনশনের জন্য নির্দিষ্ট ট্যাবে চলমান প্রতিটি কন্টেন্ট স্ক্রিপ্টে ` runtime.onConnect ইভেন্টটি ফায়ার হয়। আরও বিস্তারিত জানতে, `Content Script Messaging` দেখুন।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা

  • সংযোগ তথ্য

    বস্তু ঐচ্ছিক

    • ডকুমেন্ট আইডি

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

      ক্রোম ১০৬+

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

    • ফ্রেমআইডি

      সংখ্যা ঐচ্ছিক

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

    • নাম

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

      যেসব কন্টেন্ট স্ক্রিপ্ট কানেকশন ইভেন্টের জন্য লিসেন করছে, তাদের ক্ষেত্রে এটি onConnect-এ পাস করা হয়।

ফেরত

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

create()

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

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

প্যারামিটার

  • বৈশিষ্ট্য তৈরি করুন

    বস্তু

    • সক্রিয়

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

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

    • সূচক

      সংখ্যা ঐচ্ছিক

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

    • ওপেনারট্যাবআইডি

      সংখ্যা ঐচ্ছিক

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

    • পিন করা

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

      ট্যাবটি পিন করা হবে কিনা। ডিফল্ট মান হলো false

    • নির্বাচিত

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

      অপ্রচলিত

      অনুগ্রহ করে সক্রিয় ব্যবহার করুন।

      ট্যাবটি উইন্ডোর নির্বাচিত ট্যাব হবে কিনা। ডিফল্ট মান হলো true

    • splitWithTabId

      সংখ্যা ঐচ্ছিক

      বিচারাধীন

      যে বিদ্যমান ট্যাবটি দিয়ে স্প্লিট ভিউ তৈরি করা হবে, তার আইডি। যদি নির্দিষ্ট করা হয়, তবে যে ট্যাবটি দিয়ে স্প্লিট করা হবে, তাকে অবশ্যই নিম্নলিখিত শর্তগুলো পূরণ করতে হবে:

      • এটি অবশ্যই আগে থেকে বিভক্ত ট্যাব হওয়া যাবে না।
      • এটি অবশ্যই নতুন তৈরি করা ট্যাবটির মতো একই উইন্ডোতে থাকতে হবে।
      • যদি windowId নির্দিষ্ট করা থাকে, তবে সেটি অবশ্যই split-with ট্যাবের window ID-এর সমান হতে হবে।
      • যদি index নির্দিষ্ট করা থাকে, তবে সেটি অবশ্যই স্প্লিট-উইথ ট্যাবের সংলগ্ন একটি ইনডেক্স হতে হবে এবং এটি নতুন তৈরি হওয়া ট্যাবের আপেক্ষিক অবস্থানকে প্রভাবিত করবে।
    • ইউআরএল

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

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

    • উইন্ডোআইডি

      সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি< ট্যাব >

    ক্রোম ৮৮+

createSplit()

বিচারাধীন
chrome.tabs.createSplit(
  tabIds: [number, number],
)
: Promise<number>

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

প্যারামিটার

  • ট্যাবআইডি

    [সংখ্যা, সংখ্যা]

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

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

ফেরত

  • প্রতিশ্রুতি<সংখ্যা>

detectLanguage()

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

একটি ট্যাবের বিষয়বস্তুর প্রধান ভাষা শনাক্ত করে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি<string>

    ক্রোম ৮৮+

discard()

ক্রোম ৫৪+
chrome.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

মেমরি থেকে একটি ট্যাব বাতিল করে। বাতিল করা ট্যাবগুলো ট্যাব স্ট্রিপে দৃশ্যমান থাকে এবং সক্রিয় করা হলে পুনরায় লোড হয়।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি< ট্যাব | অনির্দিষ্ট>

    ক্রোম ৮৮+

    অপারেশনটি সম্পন্ন হওয়ার পর সমাধান হয়ে যায়।

duplicate()

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

একটি ট্যাবের প্রতিলিপি তৈরি করে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা

    যে ট্যাবটি প্রতিলিপি করতে হবে তার আইডি।

ফেরত

  • প্রতিশ্রুতি< ট্যাব | অনির্দিষ্ট>

    ক্রোম ৮৮+

get()

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

নির্দিষ্ট ট্যাবটির বিবরণ পুনরুদ্ধার করে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা

ফেরত

  • প্রতিশ্রুতি< ট্যাব >

    ক্রোম ৮৮+

getCurrent()

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

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

ফেরত

  • প্রতিশ্রুতি< ট্যাব | অনির্দিষ্ট>

    ক্রোম ৮৮+

getZoom()

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

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি<সংখ্যা>

    ক্রোম ৮৮+

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

getZoomSettings()

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

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি< জুম সেটিংস >

    ক্রোম ৮৮+

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

goBack()

ক্রোম ৭২+
chrome.tabs.goBack(
  tabId?: number,
)
: Promise<void>

পূর্ববর্তী পৃষ্ঠায় ফিরে যান, যদি তা উপলব্ধ থাকে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    যে ট্যাবে ফিরে যেতে হবে তার আইডি; ডিফল্টরূপে এটি বর্তমান উইন্ডোর নির্বাচিত ট্যাবটি হয়ে থাকে।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৮৮+

goForward()

ক্রোম ৭২+
chrome.tabs.goForward(
  tabId?: number,
)
: Promise<void>

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৮৮+

group()

ক্রোম ৮৮+
chrome.tabs.group(
  options: object,
)
: Promise<number>

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

প্যারামিটার

  • বিকল্পগুলি

    বস্তু

    • বৈশিষ্ট্য তৈরি করুন

      বস্তু ঐচ্ছিক

      গ্রুপ তৈরির জন্য কনফিগারেশন। যদি groupId আগে থেকেই নির্দিষ্ট করা থাকে, তবে এটি ব্যবহার করা যাবে না।

      • উইন্ডোআইডি

        সংখ্যা ঐচ্ছিক

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

    • গ্রুপ আইডি

      সংখ্যা ঐচ্ছিক

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

    • ট্যাবআইডি

      সংখ্যা | [সংখ্যা, ...সংখ্যা[]]

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

ফেরত

  • প্রতিশ্রুতি<সংখ্যা>

highlight()

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

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

প্যারামিটার

  • হাইলাইটইনফো

    বস্তু

    • ট্যাব

      সংখ্যা | সংখ্যা[]

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

    • উইন্ডোআইডি

      সংখ্যা ঐচ্ছিক

      যে উইন্ডোটিতে ট্যাবগুলো থাকে।

ফেরত

  • প্রতিশ্রুতি< windows.Window >

    ক্রোম ৮৮+

move()

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

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা | সংখ্যা[]

    যে ট্যাব আইডি বা ট্যাব আইডিগুলোর তালিকা সরাতে হবে।

  • moveProperties

    বস্তু

    • সূচক

      সংখ্যা

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

    • উইন্ডোআইডি

      সংখ্যা ঐচ্ছিক

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

ফেরত

query()

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

নির্দিষ্ট বৈশিষ্ট্যসম্পন্ন সমস্ত ট্যাব খুঁজে বের করে, অথবা কোনো বৈশিষ্ট্য নির্দিষ্ট না করা থাকলে সমস্ত ট্যাব খুঁজে বের করে।

প্যারামিটার

  • কোয়েরিইনফো

    বস্তু

    • সক্রিয়

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

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

    • শ্রবণযোগ্য

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

      ক্রোম ৪৫+

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

    • স্বয়ংক্রিয়ভাবে বাতিলযোগ্য

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

      ক্রোম ৫৪+

      রিসোর্স কমে গেলে ব্রাউজার ট্যাবগুলো স্বয়ংক্রিয়ভাবে বাতিল করতে পারে কিনা।

    • বর্তমান উইন্ডো

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

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

    • বাতিল করা

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

      ক্রোম ৫৪+

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

    • হিমায়িত

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

      ক্রোম ১৩২+

      ট্যাবগুলো ফ্রিজ করা আছে কিনা। একটি ফ্রিজ করা ট্যাব ইভেন্ট হ্যান্ডলার বা টাইমার সহ কোনো কাজ সম্পাদন করতে পারে না। এটি ট্যাব স্ট্রিপে দৃশ্যমান থাকে এবং এর বিষয়বস্তু মেমরিতে লোড হয়। সক্রিয় করলে এটি আনফ্রিজ হয়ে যায়।

    • গ্রুপ আইডি

      সংখ্যা ঐচ্ছিক

      ক্রোম ৮৮+

      ট্যাবগুলো যে গ্রুপে রয়েছে, সেই গ্রুপের আইডি, অথবা গ্রুপবিহীন ট্যাবগুলোর জন্য tabGroups.TAB_GROUP_ID_NONE

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

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

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

    • সূচক

      সংখ্যা ঐচ্ছিক

      তাদের উইন্ডোগুলোর মধ্যে ট্যাবগুলোর অবস্থান।

    • শেষ ফোকাসড উইন্ডো

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

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

    • নিঃশব্দ

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

      ক্রোম ৪৫+

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

    • পিন করা

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

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

    • splitViewId

      সংখ্যা ঐচ্ছিক

      ক্রোম ১৪০+

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

    • অবস্থা

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

    • শিরোনাম

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

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

    • ইউআরএল

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

      এক বা একাধিক ইউআরএল প্যাটার্নের সাথে ট্যাবগুলো মেলান। ফ্র্যাগমেন্ট আইডেন্টিফায়ারগুলো মেলানো হয় না। যদি এক্সটেনশনটির কাছে পেজটির জন্য "tabs" পারমিশন বা হোস্ট পারমিশন না থাকে, তাহলে এই প্রপার্টিটি উপেক্ষা করা হয়।

    • উইন্ডোআইডি

      সংখ্যা ঐচ্ছিক

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

    • উইন্ডো টাইপ

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

ফেরত

  • প্রতিশ্রুতি< ট্যাব []>

    ক্রোম ৮৮+

reload()

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

একটি ট্যাব পুনরায় লোড করুন।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    যে ট্যাবটি পুনরায় লোড করতে হবে তার আইডি; ডিফল্টরূপে এটি বর্তমান উইন্ডোর নির্বাচিত ট্যাবটি হয়ে থাকে।

  • পুনরায় লোড করুন বৈশিষ্ট্য

    বস্তু ঐচ্ছিক

    • বাইপাস ক্যাশে

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

      স্থানীয় ক্যাশিং এড়িয়ে যাওয়া হবে কিনা। ডিফল্ট মান হলো false

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৮৮+

remove()

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

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা | সংখ্যা[]

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৮৮+

sendMessage()

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

নির্দিষ্ট ট্যাবে থাকা কন্টেন্ট স্ক্রিপ্ট(গুলি)-তে একটি একক বার্তা পাঠায়। বর্তমান এক্সটেনশনের জন্য নির্দিষ্ট ট্যাবে চলমান প্রতিটি কন্টেন্ট স্ক্রিপ্টে runtime.onMessage ইভেন্টটি ফায়ার হয়।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা

  • বার্তা

    যেকোনো

    প্রেরণ করার জন্য বার্তা। এই বার্তাটি একটি JSON-উপযোগী অবজেক্ট হওয়া উচিত।

  • বিকল্পগুলি

    বস্তু ঐচ্ছিক

    • ডকুমেন্ট আইডি

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

      ক্রোম ১০৬+

      ট্যাবের সমস্ত ফ্রেমে বার্তা পাঠানোর পরিবর্তে, documentId দ্বারা চিহ্নিত একটি নির্দিষ্ট ডকুমেন্টে বার্তা পাঠান।

    • ফ্রেমআইডি

      সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি<যেকোনো>

    ক্রোম ৯৯+

    কন্টেন্ট স্ক্রিপ্ট থেকে প্রাপ্ত প্রতিক্রিয়ার মাধ্যমে যে প্রমিসটি রিজলভ হয়। নির্দিষ্ট ট্যাবে সংযোগ করার সময় কোনো ত্রুটি ঘটলে, প্রমিসটি রিজেক্ট হয়ে যাবে।

setZoom()

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

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

  • জুম ফ্যাক্টর

    সংখ্যা

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৮৮+

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

setZoomSettings()

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

একটি নির্দিষ্ট ট্যাবের জন্য জুম সেটিংস নির্ধারণ করে, যা জুম পরিবর্তনের পদ্ধতি ঠিক করে দেয়। ট্যাবটি পরিবর্তন করলে এই সেটিংস ডিফল্ট অবস্থায় ফিরে আসে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    যে ট্যাবের জুম সেটিংস পরিবর্তন করতে হবে তার আইডি; ডিফল্টরূপে এটি বর্তমান উইন্ডোর সক্রিয় ট্যাব হিসেবে গণ্য হয়।

  • জুম সেটিংস

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৮৮+

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

ungroup()

ক্রোম ৮৮+
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

নিজ নিজ গ্রুপ থেকে এক বা একাধিক ট্যাব মুছে ফেলে। কোনো গ্রুপ খালি হয়ে গেলে, সেগুলো মুছে ফেলা হয়।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা | [সংখ্যা, ...সংখ্যা[]]

    নিজ নিজ গ্রুপ থেকে অপসারণ করার জন্য ট্যাব আইডি বা ট্যাব আইডিগুলোর তালিকা।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

unsplit()

বিচারাধীন
chrome.tabs.unsplit(
  splitViewId: number,
)
: Promise<void>

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

প্যারামিটার

  • splitViewId

    সংখ্যা

    পৃথক করার জন্য স্প্লিট ভিউ-এর আইডি।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

update()

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

একটি ট্যাবের বৈশিষ্ট্যসমূহ পরিবর্তন করে। যে বৈশিষ্ট্যগুলো updateProperties এ নির্দিষ্ট করা নেই, সেগুলো পরিবর্তিত হয় না।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    ডিফল্টরূপে বর্তমান উইন্ডোর নির্বাচিত ট্যাবটি ব্যবহৃত হয়।

  • বৈশিষ্ট্য আপডেট করুন

    বস্তু

    • সক্রিয়

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

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

    • স্বয়ংক্রিয়ভাবে বাতিলযোগ্য

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

      ক্রোম ৫৪+

      রিসোর্স কম থাকলে ব্রাউজার দ্বারা ট্যাবটি স্বয়ংক্রিয়ভাবে বাতিল করা হবে কিনা।

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

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

      বর্তমান নির্বাচনে ট্যাবটি যোগ বা অপসারণ করে।

    • নিঃশব্দ

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

      ক্রোম ৪৫+

      ট্যাবটি মিউট করা হবে কিনা।

    • ওপেনারট্যাবআইডি

      সংখ্যা ঐচ্ছিক

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

    • পিন করা

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

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

    • নির্বাচিত

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

      অপ্রচলিত

      অনুগ্রহ করে হাইলাইট করা অংশ ব্যবহার করুন।

      ট্যাবটি নির্বাচন করা হবে কিনা।

    • ইউআরএল

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

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

ফেরত

  • প্রতিশ্রুতি< ট্যাব | অনির্দিষ্ট>

    ক্রোম ৮৮+

ইভেন্টগুলি

onActivated

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

    (activeInfo: object) => void

    • সক্রিয় তথ্য

      বস্তু

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবটি সক্রিয় হয়েছে তার আইডি।

      • উইন্ডোআইডি

        সংখ্যা

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

onAttached

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

যখন কোনো ট্যাব একটি উইন্ডোর সাথে সংযুক্ত হয়, তখন এটি ট্রিগার হয়; উদাহরণস্বরূপ, ট্যাবটিকে এক উইন্ডো থেকে অন্য উইন্ডোতে সরানো হলে।

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

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

    • ট্যাবআইডি

      সংখ্যা

    • সংযুক্ত করুনতথ্য

      বস্তু

      • নতুন পদ

        সংখ্যা

      • নতুন উইন্ডো আইডি

        সংখ্যা

onCreated

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

    (tab: Tab) => void

onDetached

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

যখন কোনো ট্যাব একটি উইন্ডো থেকে বিচ্ছিন্ন হয়, তখন এটি ট্রিগার হয়; উদাহরণস্বরূপ, ট্যাবটিকে এক উইন্ডো থেকে অন্য উইন্ডোতে সরানো হলে।

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

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

    • ট্যাবআইডি

      সংখ্যা

    • বিচ্ছিন্ন তথ্য

      বস্তু

      • পুরাতন পদ

        সংখ্যা

      • oldWindowId

        সংখ্যা

onHighlighted

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

    (highlightInfo: object) => void

    • হাইলাইটইনফো

      বস্তু

      • ট্যাবআইডি

        সংখ্যা[]

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

      • উইন্ডোআইডি

        সংখ্যা

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

onMoved

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

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

    • ট্যাবআইডি

      সংখ্যা

    • moveInfo

      বস্তু

      • সূচক থেকে

        সংখ্যা

      • সূচকে

        সংখ্যা

      • উইন্ডোআইডি

        সংখ্যা

onRemoved

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

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

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

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

    • ট্যাবআইডি

      সংখ্যা

    • তথ্য অপসারণ করুন

      বস্তু

      • জানালা বন্ধ হচ্ছে

        বুলিয়ান

        যখন ট্যাবটির প্যারেন্ট উইন্ডো বন্ধ হয়ে যাওয়ার কারণে ট্যাবটিও বন্ধ হয়, তখন এটি সত্য হয়।

      • উইন্ডোআইডি

        সংখ্যা

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

onReplaced

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

প্রি-রেন্ডারিং বা তাৎক্ষণিক কারণে একটি ট্যাব অন্য ট্যাব দ্বারা প্রতিস্থাপিত হলে এটি কার্যকর হয়।

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

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

    • যোগ করা ট্যাব আইডি

      সংখ্যা

    • অপসারিত ট্যাব আইডি

      সংখ্যা

onUpdated

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

যখন কোনো ট্যাব আপডেট করা হয় তখন এটি সক্রিয় হয়।

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

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

    • ট্যাবআইডি

      সংখ্যা

    • তথ্য পরিবর্তন করুন

      বস্তু

      • শ্রবণযোগ্য

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

        ক্রোম ৪৫+

        ট্যাবটির নতুন শ্রবণযোগ্য অবস্থা।

      • স্বয়ংক্রিয়ভাবে বাতিলযোগ্য

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

        ক্রোম ৫৪+

        ট্যাবটির নতুন স্বয়ংক্রিয়ভাবে বাতিলযোগ্য অবস্থা।

      • বাতিল করা

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

        ক্রোম ৫৪+

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

      • প্রিয় আইকন ইউআরএল

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

        ট্যাবটির নতুন ফেভিকন ইউআরএল।

      • হিমায়িত

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

        ক্রোম ১৩২+

        ট্যাবটির নতুন স্থির অবস্থা।

      • গ্রুপ আইডি

        সংখ্যা ঐচ্ছিক

        ক্রোম ৮৮+

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

      • মিউটইনফো

        MutedInfo ঐচ্ছিক

        ক্রোম ৪৬+

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

      • পিন করা

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

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

      • splitViewId

        সংখ্যা ঐচ্ছিক

        ক্রোম ১৪০+

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

      • অবস্থা

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

      • শিরোনাম

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

        ক্রোম ৪৮+

        ট্যাবটির নতুন শিরোনাম।

      • ইউআরএল

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

        ট্যাবের ইউআরএল, যদি তা পরিবর্তিত হয়ে থাকে।

    • ট্যাব

onZoomChange

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

কোনো ট্যাব জুম করা হলে এটি সক্রিয় হয়।

প্যারামিটার

  • কলব্যাক

    ফাংশন

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

    (ZoomChangeInfo: object) => void

    • জুমচেঞ্জইনফো

      বস্তু

      • নতুন জুম ফ্যাক্টর

        সংখ্যা

      • পুরানো জুম ফ্যাক্টর

        সংখ্যা

      • ট্যাবআইডি

        সংখ্যা

      • জুম সেটিংস