chrome.runtime

বর্ণনা

পরিষেবা কর্মী পুনরুদ্ধার করতে chrome.runtime API ব্যবহার করুন, ম্যানিফেস্ট সম্পর্কে বিশদ বিবরণ ফেরত দিন এবং এক্সটেনশন লাইফসাইকেলে ইভেন্টগুলি শুনুন এবং প্রতিক্রিয়া জানান৷ আপনি URL-এর আপেক্ষিক পাথকে সম্পূর্ণ-যোগ্য URL-এ রূপান্তর করতে এই API ব্যবহার করতে পারেন।

ওভারভিউ

রানটাইম API আপনার এক্সটেনশনগুলি ব্যবহার করতে পারে এমন কার্যকারিতার বেশ কয়েকটি ক্ষেত্রকে সমর্থন করার পদ্ধতিগুলি সরবরাহ করে:

বার্তা যাচ্ছে
আপনার এক্সটেনশন এই পদ্ধতি এবং ইভেন্টগুলি ব্যবহার করে আপনার এক্সটেনশনের মধ্যে বিভিন্ন প্রসঙ্গে এবং অন্যান্য এক্সটেনশনগুলির সাথে যোগাযোগ করতে পারে: connect() , onConnect , onConnectExternal , sendMessage() , onMessage এবং onMessageExternal । উপরন্তু, আপনার এক্সটেনশন connectNative() এবং sendNativeMessage() ব্যবহার করে ব্যবহারকারীর ডিভাইসে নেটিভ অ্যাপ্লিকেশনে বার্তা পাঠাতে পারে।
এক্সটেনশন এবং প্ল্যাটফর্ম মেটাডেটা অ্যাক্সেস করা
এই পদ্ধতিগুলি আপনাকে এক্সটেনশন এবং প্ল্যাটফর্ম সম্পর্কে মেটাডেটার কয়েকটি নির্দিষ্ট অংশ পুনরুদ্ধার করতে দেয়। এই বিষয়শ্রেণীতে অন্তর্ভুক্ত পদ্ধতির মধ্যে আছে getManifest() , এবং getPlatformInfo()
এক্সটেনশন জীবনচক্র এবং বিকল্পগুলি পরিচালনা করা
এই বৈশিষ্ট্যগুলি আপনাকে এক্সটেনশনে কিছু মেটা-অপারেশন করতে দেয় এবং বিকল্প পৃষ্ঠা প্রদর্শন করে। এই বিভাগের পদ্ধতি এবং ইভেন্টগুলির মধ্যে রয়েছে onInstalled , onStartup , openOptionsPage() , reload() , requestUpdateCheck() , এবং setUninstallURL()
সাহায্যকারী ইউটিলিটি
এই পদ্ধতিগুলি ইউটিলিটি প্রদান করে যেমন অভ্যন্তরীণ সম্পদের উপস্থাপনাকে বহিরাগত বিন্যাসে রূপান্তর করা। এই বিষয়শ্রেণীতে অন্তর্ভুক্ত পদ্ধতির মধ্যে getURL() রয়েছে।
কিয়স্ক মোড ইউটিলিটি
এই পদ্ধতিগুলি শুধুমাত্র ChromeOS-এ উপলব্ধ, এবং প্রধানত কিয়স্ক বাস্তবায়ন সমর্থন করার জন্য বিদ্যমান। এই বিষয়শ্রেণীতে অন্তর্ভুক্ত পদ্ধতির মধ্যে রিস্টার্ট এবং রিস্টার্ট আফটারডিলে অন্তর্ভুক্ত।

অনুমতি

রানটাইম API-এর বেশিরভাগ পদ্ধতিতে sendNativeMessage এবং connectNative ছাড়া কোনো অনুমতির প্রয়োজন হয় না , যার জন্য nativeMessaging অনুমতি প্রয়োজন।

উদ্ভাসিত

নিম্নলিখিত উদাহরণ দেখায় কিভাবে ম্যানিফেস্টে nativeMessaging অনুমতি ঘোষণা করতে হয়:

manifest.json:

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

কেস ব্যবহার করুন

একটি ওয়েব পৃষ্ঠায় একটি ছবি যোগ করুন

একটি ওয়েব পৃষ্ঠা অন্য ডোমেনে হোস্ট করা সম্পদ অ্যাক্সেস করার জন্য, এটি অবশ্যই সংস্থানের সম্পূর্ণ URL উল্লেখ করতে হবে (যেমন <img src="https://example.com/logo.png"> )। একটি ওয়েব পৃষ্ঠায় একটি এক্সটেনশন সম্পদ অন্তর্ভুক্ত করার ক্ষেত্রেও এটি সত্য। দুটি পার্থক্য হল এক্সটেনশনের সম্পদগুলিকে অবশ্যই ওয়েব অ্যাক্সেসযোগ্য সংস্থান হিসাবে প্রকাশ করতে হবে এবং সাধারণত বিষয়বস্তু স্ক্রিপ্টগুলি এক্সটেনশন সম্পদগুলি ইনজেক্ট করার জন্য দায়ী৷

এই উদাহরণে, একটি সম্পূর্ণ-যোগ্য URL তৈরি করতে runtime.getURL() ব্যবহার করে যে পৃষ্ঠায় বিষয়বস্তু স্ক্রিপ্টটি প্রবেশ করানো হচ্ছে তাতে এক্সটেনশন logo.png যোগ করবে। কিন্তু প্রথমে, সম্পদটিকে ম্যানিফেস্টে একটি ওয়েব অ্যাক্সেসযোগ্য সম্পদ হিসেবে ঘোষণা করতে হবে।

manifest.json:

{
  ...
  "web_accessible_resources": [
    {
      "resources": [ "logo.png" ],
      "matches": [ "https://*/*" ]
    }
  ],
  ...
}

content.js:

{ // Block used to avoid setting global variables
  const img = document.createElement('img');
  img.src = chrome.runtime.getURL('logo.png');
  document.body.append(img);
}

পরিষেবা কর্মী থেকে একটি বিষয়বস্তু স্ক্রিপ্টে ডেটা পাঠান

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

এই উদাহরণে, বিষয়বস্তু স্ক্রিপ্টের UI শুরু করার জন্য এক্সটেনশনের পরিষেবা কর্মী থেকে কিছু ডেটা প্রয়োজন৷ এই ডেটা পেতে, এটি পরিষেবা কর্মীকে একটি get-user-data বার্তা পাঠায় এবং এটি ব্যবহারকারীর তথ্যের একটি অনুলিপি দিয়ে প্রতিক্রিয়া জানায়।

content.js:

// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
  // 3. Got an asynchronous response with the data from the service worker
  console.log('received user data', response);
  initializeUI(response);
});

background.js:

// Example of a simple user data object
const user = {
  username: 'demo-user'
};

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  // 2. A page requested user data, respond with a copy of `user`
  if (message === 'get-user-data') {
    sendResponse(user);
  }
});

আনইনস্টল সম্পর্কে মতামত সংগ্রহ করুন

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

background.js:

chrome.runtime.onInstalled.addListener(details => {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.runtime.setUninstallURL('https://example.com/extension-survey');
  }
});

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

আরও রানটাইম API উদাহরণের জন্য ম্যানিফেস্ট V3 - ওয়েব অ্যাক্সেসযোগ্য সম্পদের ডেমো দেখুন।

প্রকারভেদ

ContextFilter

Chrome 114+

নির্দিষ্ট এক্সটেনশন প্রসঙ্গের সাথে মেলে একটি ফিল্টার। মিলিত প্রসঙ্গগুলি অবশ্যই সমস্ত নির্দিষ্ট ফিল্টারের সাথে মেলে; যে কোনো ফিল্টার যা নির্দিষ্ট করা হয়নি তা সমস্ত উপলব্ধ প্রসঙ্গের সাথে মেলে। এইভাবে, `{}` এর একটি ফিল্টার সমস্ত উপলব্ধ প্রসঙ্গের সাথে মিলবে।

বৈশিষ্ট্য

  • প্রসঙ্গ আইডি

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

  • প্রসঙ্গ প্রকার

    ContextType [] ঐচ্ছিক

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

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

  • নথির উৎপত্তি

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

  • ডকুমেন্ট ইউআরএল

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

  • ফ্রেমআইডি

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

  • ছদ্মবেশী

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

  • ট্যাবআইডি

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

  • windowIds

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

ContextType

Chrome 114+

এনাম

"ট্যাব"
একটি ট্যাব হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে

"পপআপ"
একটি এক্সটেনশন পপআপ উইন্ডো হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে

"ব্যাকগ্রাউন্ড"
একটি পরিষেবা কর্মী হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে৷

"OFFSCREEN_DOCUMENT"
একটি অফস্ক্রিন নথি হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে৷

"SIDE_PANEL"
একটি পার্শ্ব প্যানেল হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।

"DEVELOPER_TOOLS"
বিকাশকারী সরঞ্জাম হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।

ExtensionContext

Chrome 114+

একটি প্রসঙ্গ হোস্টিং এক্সটেনশন সামগ্রী।

বৈশিষ্ট্য

  • প্রসঙ্গ আইডি

    স্ট্রিং

    এই প্রসঙ্গের জন্য একটি অনন্য শনাক্তকারী

  • প্রসঙ্গ প্রকার

    এই অনুরূপ প্রসঙ্গ ধরনের.

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

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

    এই প্রসঙ্গের সাথে যুক্ত নথির জন্য একটি UUID, অথবা যদি এই প্রসঙ্গটি কোনো নথিতে না হোস্ট করা হয় তবে অনির্ধারিত।

  • নথির উৎপত্তি

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

    এই প্রেক্ষাপটের সাথে সংশ্লিষ্ট নথির উৎপত্তি, অথবা যদি কোনো নথিতে প্রসঙ্গটি হোস্ট করা না থাকে তাহলে অনির্ধারিত।

  • ডকুমেন্ট ইউআরএল

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

    এই প্রসঙ্গের সাথে যুক্ত নথির URL, অথবা যদি প্রসঙ্গটি একটি নথিতে হোস্ট করা না থাকে তাহলে অনির্ধারিত৷

  • ফ্রেমআইডি

    সংখ্যা

    এই প্রসঙ্গটির জন্য ফ্রেমের আইডি, অথবা -1 যদি এই প্রসঙ্গটি একটি ফ্রেমে হোস্ট করা না থাকে।

  • ছদ্মবেশী

    বুলিয়ান

    প্রসঙ্গটি একটি ছদ্মবেশী প্রোফাইলের সাথে যুক্ত কিনা।

  • ট্যাবআইডি

    সংখ্যা

    এই প্রসঙ্গের জন্য ট্যাবের আইডি, অথবা -1 যদি এই প্রসঙ্গটি একটি ট্যাবে হোস্ট করা না থাকে।

  • উইন্ডো আইডি

    সংখ্যা

    এই প্রেক্ষাপটের জন্য উইন্ডোর ID, অথবা -1 যদি এই প্রসঙ্গটি একটি উইন্ডোতে হোস্ট করা না থাকে।

MessageSender

স্ক্রিপ্ট প্রসঙ্গ সম্পর্কে তথ্য ধারণকারী একটি বস্তু যা একটি বার্তা বা অনুরোধ পাঠিয়েছে।

বৈশিষ্ট্য

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

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

    Chrome 106+

    নথির একটি UUID যা সংযোগটি খুলেছে৷

  • নথি জীবনচক্র

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

    Chrome 106+

    বন্দর তৈরির সময়ে সংযোগটি খোলার নথিটি জীবনচক্র। মনে রাখবেন পোর্ট তৈরির পর থেকে নথির জীবনচক্রের অবস্থা পরিবর্তিত হতে পারে।

  • ফ্রেমআইডি

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

    যে ফ্রেমটি সংযোগটি খুলেছে। শীর্ষ-স্তরের ফ্রেমের জন্য 0, চাইল্ড ফ্রেমের জন্য ইতিবাচক। tab সেট করা হলেই এটি সেট করা হবে।

  • আইডি

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

    যে এক্সটেনশনটি সংযোগটি খুলেছে তার ID, যদি থাকে।

  • নেটিভ অ্যাপ্লিকেশন

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

    Chrome 74+

    স্থানীয় অ্যাপ্লিকেশনের নাম যা সংযোগটি খুলেছে, যদি থাকে।

  • মূল

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

    Chrome 80+

    পৃষ্ঠা বা ফ্রেমের উৎপত্তি যা সংযোগটি খুলেছে। এটি url প্রপার্টি থেকে পরিবর্তিত হতে পারে (যেমন, প্রায়:খালি) বা অস্বচ্ছ হতে পারে (যেমন, স্যান্ডবক্সড আইফ্রেম)। যদি আমরা URL থেকে অবিলম্বে বলতে না পারি তবে উত্সটি বিশ্বাস করা যায় কিনা তা সনাক্ত করার জন্য এটি কার্যকর।

  • ট্যাব

    ট্যাব ঐচ্ছিক

    tabs.Tab যা সংযোগটি খুলেছে, যদি থাকে। এই বৈশিষ্ট্যটি তখনই উপস্থিত থাকবে যখন সংযোগটি একটি ট্যাব থেকে খোলা হয় (কন্টেন্ট স্ক্রিপ্ট সহ), এবং শুধুমাত্র যদি রিসিভার একটি এক্সটেনশন হয়, একটি অ্যাপ নয়।

  • tlsChannelId

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

    পৃষ্ঠা বা ফ্রেমের TLS চ্যানেল আইডি যা সংযোগটি খুলেছে, যদি এক্সটেনশন দ্বারা অনুরোধ করা হয় এবং যদি উপলব্ধ থাকে।

  • url

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

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

OnInstalledReason

Chrome 44+

যে কারণে এই অনুষ্ঠানটি পাঠানো হচ্ছে।

এনাম

"ইনস্টল করুন"
একটি ইনস্টলেশন হিসাবে ইভেন্ট কারণ নির্দিষ্ট করে।

"আপডেট"
একটি এক্সটেনশন আপডেট হিসাবে ইভেন্ট কারণ নির্দিষ্ট করে।

"chrome_update"
একটি Chrome আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে৷

"ভাগ করা_মডিউল_আপডেট"
একটি ভাগ করা মডিউলের আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে৷

OnRestartRequiredReason

Chrome 44+

যে কারণে অনুষ্ঠানটি পাঠানো হচ্ছে। রিস্টার্টের প্রয়োজন হলে 'app_update' ব্যবহার করা হয় কারণ অ্যাপ্লিকেশনটি একটি নতুন সংস্করণে আপডেট করা হয়। 'os_update' ব্যবহার করা হয় যখন পুনরায় চালু করার প্রয়োজন হয় কারণ ব্রাউজার/OS একটি নতুন সংস্করণে আপডেট করা হয়। 'পর্যায়ক্রমিক' ব্যবহার করা হয় যখন সিস্টেমটি এন্টারপ্রাইজ নীতিতে নির্ধারিত আপটাইমের চেয়ে বেশি সময় ধরে চলে।

এনাম

"অ্যাপ_আপডেট"
অ্যাপের আপডেট হিসেবে ইভেন্টের কারণ উল্লেখ করে।

"os_update"
অপারেটিং সিস্টেমের আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।

"পর্যায়ক্রমিক"
অ্যাপের পর্যায়ক্রমিক পুনঃসূচনা হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।

PlatformArch

Chrome 44+

মেশিনের প্রসেসরের আর্কিটেকচার।

এনাম

"বাহু"
বাহু হিসাবে প্রসেসর আর্কিটেকচার নির্দিষ্ট করে।

"বাহু 64"
প্রসেসর আর্কিটেকচারকে arm64 হিসাবে নির্দিষ্ট করে।

"x86-32"
প্রসেসর আর্কিটেকচারকে x86-32 হিসাবে নির্দিষ্ট করে।

"x86-64"
প্রসেসর আর্কিটেকচারকে x86-64 হিসাবে নির্দিষ্ট করে।

"মিপস"
মিপস হিসাবে প্রসেসর আর্কিটেকচার নির্দিষ্ট করে।

"mips64"
প্রসেসর আর্কিটেকচারকে mips64 হিসাবে নির্দিষ্ট করে।

PlatformInfo

বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য ধারণকারী একটি বস্তু।

বৈশিষ্ট্য

PlatformNaclArch

Chrome 44+

নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের খিলান থেকে ভিন্ন হতে পারে।

এনাম

"বাহু"
আর্ম হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।

"x86-32"
x86-32 হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।

"x86-64"
x86-64 হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।

"মিপস"
mips হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।

"mips64"
mips64 হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।

PlatformOs

Chrome 44+

ক্রোম অপারেটিং সিস্টেম চালু আছে।

এনাম

"ম্যাক"
MacOS অপারেটিং সিস্টেম নির্দিষ্ট করে।

"জয়"
উইন্ডোজ অপারেটিং সিস্টেম নির্দিষ্ট করে।

"অ্যান্ড্রয়েড"
অ্যান্ড্রয়েড অপারেটিং সিস্টেম নির্দিষ্ট করে।

"ক্রস"
Chrome অপারেটিং সিস্টেম নির্দিষ্ট করে।

"লিনাক্স"
লিনাক্স অপারেটিং সিস্টেম নির্দিষ্ট করে।

"ওপেনবিএসডি"
OpenBSD অপারেটিং সিস্টেম নির্দিষ্ট করে।

"ফুচিয়া"
Fuchsia অপারেটিং সিস্টেম নির্দিষ্ট করে।

Port

একটি বস্তু যা অন্য পৃষ্ঠাগুলির সাথে দ্বিমুখী যোগাযোগের অনুমতি দেয়। আরও তথ্যের জন্য দীর্ঘস্থায়ী সংযোগগুলি দেখুন৷

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

    পোর্টের নাম, যেমন runtime.connect এর কলে উল্লেখ করা হয়েছে।

  • সংযোগ বিচ্ছিন্ন করুন

    ইভেন্ট<functionvoidvoid>

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

    onDisconnect.addListener ফাংশনটি এরকম দেখাচ্ছে:

    (callback: function) => {...}

    • কলব্যাক

      ফাংশন

      callback প্যারামিটারটি এর মতো দেখাচ্ছে:

      (port: Port) => void

  • onMessage

    ইভেন্ট<functionvoidvoid>

    পোর্টের অন্য প্রান্তে পোস্টমেসেজ কল করা হলে এই ইভেন্টটি চালু করা হয়।

    onMessage.addListener ফাংশনটি এরকম দেখাচ্ছে:

    (callback: function) => {...}

    • কলব্যাক

      ফাংশন

      callback প্যারামিটারটি এর মতো দেখাচ্ছে:

      (message: any, port: Port) => void

  • প্রেরক

    এই সম্পত্তি শুধুমাত্র onConnect / onConnectExternal / onConnectNative শ্রোতাদের পাস করা পোর্টগুলিতে উপস্থিত থাকবে।

  • সংযোগ বিচ্ছিন্ন

    অকার্যকর

    অবিলম্বে পোর্ট সংযোগ বিচ্ছিন্ন করুন. ইতিমধ্যেই সংযোগ বিচ্ছিন্ন পোর্টে disconnect() কল করার কোন প্রভাব নেই। যখন একটি পোর্ট সংযোগ বিচ্ছিন্ন হয়, তখন এই বন্দরে কোনো নতুন ইভেন্ট পাঠানো হবে না।

    disconnect ফাংশন এর মত দেখাচ্ছে:

    () => {...}

  • পোস্ট মেসেজ

    অকার্যকর

    বন্দরের অন্য প্রান্তে একটি বার্তা পাঠান। পোর্ট সংযোগ বিচ্ছিন্ন হলে, একটি ত্রুটি নিক্ষেপ করা হয়.

    postMessage ফাংশনটি এর মতো দেখাচ্ছে:

    (message: any) => {...}

    • বার্তা

      যেকোনো

      Chrome 52+

      মেসেজ পাঠাতে হবে। এই বস্তুটি JSON-fiable হওয়া উচিত।

RequestUpdateCheckStatus

Chrome 44+

আপডেট চেকের ফলাফল।

এনাম

"থ্রটলড"
নির্দিষ্ট করে যে স্ট্যাটাস চেক থ্রোটল করা হয়েছে। এটি অল্প সময়ের মধ্যে বারবার চেক করার পরে ঘটতে পারে।

"না_আপডেট"
উল্লেখ করে যে ইনস্টল করার জন্য কোন উপলব্ধ আপডেট নেই।

"আপডেট_উপলব্ধ"
উল্লেখ করে যে ইনস্টল করার জন্য একটি উপলব্ধ আপডেট আছে৷

বৈশিষ্ট্য

id

এক্সটেনশন/অ্যাপের আইডি।

টাইপ

স্ট্রিং

lastError

একটি API ফাংশন কল ব্যর্থ হলে একটি ত্রুটি বার্তা দিয়ে জনবহুল; অন্যথায় অনির্ধারিত। এটি শুধুমাত্র সেই ফাংশনের কলব্যাকের সুযোগের মধ্যে সংজ্ঞায়িত করা হয়েছে। যদি একটি ত্রুটি উত্পাদিত হয়, কিন্তু runtime.lastError কলব্যাকের মধ্যে অ্যাক্সেস করা না হয়, তাহলে একটি বার্তা কনসোলে লগ ইন করা হয় যেটি এপিআই ফাংশনটি তালিকাভুক্ত করে যা ত্রুটিটি তৈরি করে। API ফাংশন যা প্রতিশ্রুতি প্রদান করে এই সম্পত্তি সেট করে না।

টাইপ

বস্তু

বৈশিষ্ট্য

  • বার্তা

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

    যে ত্রুটি ঘটেছে তার বিস্তারিত।

পদ্ধতি

connect()

chrome.runtime.connect(
  extensionId?: string,
  connectInfo?: object,
)

একটি এক্সটেনশন (যেমন ব্যাকগ্রাউন্ড পৃষ্ঠা), বা অন্যান্য এক্সটেনশন/অ্যাপগুলির মধ্যে শ্রোতাদের সংযুক্ত করার প্রচেষ্টা। এটি তাদের এক্সটেনশন প্রক্রিয়া, আন্তঃ-অ্যাপ/এক্সটেনশন যোগাযোগ, এবং ওয়েব মেসেজিং এর সাথে সংযোগকারী বিষয়বস্তু স্ক্রিপ্টের জন্য দরকারী। নোট করুন যে এটি একটি বিষয়বস্তু স্ক্রিপ্টে কোনো শ্রোতার সাথে সংযোগ করে না। এক্সটেনশনগুলি tabs.connect এর মাধ্যমে ট্যাবে এমবেড করা বিষয়বস্তু স্ক্রিপ্টগুলির সাথে সংযোগ করতে পারে৷

পরামিতি

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

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

    সংযোগ করার জন্য এক্সটেনশনের ID। যদি বাদ দেওয়া হয়, আপনার নিজস্ব এক্সটেনশনের সাথে একটি সংযোগের চেষ্টা করা হবে৷ ওয়েব বার্তা পাঠানোর জন্য একটি ওয়েব পৃষ্ঠা থেকে বার্তা পাঠাতে হলে প্রয়োজনীয়৷

  • সংযোগ তথ্য

    বস্তু ঐচ্ছিক

    • TlsChannelId অন্তর্ভুক্ত করুন

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

      TLS চ্যানেল আইডি সংযোগ ইভেন্টের জন্য শুনছে এমন প্রক্রিয়াগুলির জন্য onConnectExternal-এ পাস করা হবে কিনা।

    • নাম

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

      সংযোগ ইভেন্টের জন্য শুনছে এমন প্রক্রিয়াগুলির জন্য onConnect-এ পাস করা হবে।

রিটার্নস

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

connectNative()

chrome.runtime.connectNative(
  application: string,
)

হোস্ট মেশিনে একটি নেটিভ অ্যাপ্লিকেশনের সাথে সংযোগ করে। এই পদ্ধতির জন্য "nativeMessaging" অনুমতি প্রয়োজন৷ আরও তথ্যের জন্য নেটিভ মেসেজিং দেখুন।

পরামিতি

  • আবেদন

    স্ট্রিং

    সংযোগ করার জন্য নিবন্ধিত আবেদনের নাম।

রিটার্নস

  • পোর্ট যার মাধ্যমে আবেদনের সাথে বার্তা পাঠানো এবং গ্রহণ করা যায়

getBackgroundPage()

প্রতিশ্রুতি ফোরগ্রাউন্ড শুধুমাত্র
chrome.runtime.getBackgroundPage(
  callback?: function,
)

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

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (backgroundPage?: Window) => void

    • ব্যাকগ্রাউন্ড পেজ

      উইন্ডো ঐচ্ছিক

      পটভূমি পৃষ্ঠার জন্য জাভাস্ক্রিপ্ট 'উইন্ডো' অবজেক্ট।

রিটার্নস

  • প্রতিশ্রুতি <উইন্ডো | undefined>

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getContexts()

প্রতিশ্রুতি Chrome 116+ MV3+
chrome.runtime.getContexts(
  filter: ContextFilter,
  callback?: function,
)

এই এক্সটেনশনের সাথে যুক্ত সক্রিয় প্রসঙ্গ সম্পর্কে তথ্য নিয়ে আসে

পরামিতি

  • মিলিত প্রসঙ্গগুলি খুঁজে বের করার জন্য একটি ফিল্টার। একটি প্রসঙ্গ মেলে যদি এটি ফিল্টারের সমস্ত নির্দিষ্ট ক্ষেত্রের সাথে মেলে। ফিল্টারে কোনো অনির্দিষ্ট ক্ষেত্র সব প্রসঙ্গের সাথে মেলে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (contexts: ExtensionContext[]) => void

রিটার্নস

  • প্রতিশ্রুতি< এক্সটেনশন প্রসঙ্গ []>

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getManifest()

chrome.runtime.getManifest()

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

রিটার্নস

  • বস্তু

    ম্যানিফেস্ট বিবরণ.

getPackageDirectoryEntry()

প্রতিশ্রুতি ফোরগ্রাউন্ড শুধুমাত্র
chrome.runtime.getPackageDirectoryEntry(
  callback?: function,
)

প্যাকেজ ডিরেক্টরির জন্য একটি DirectoryEntry প্রদান করে।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (directoryEntry: DirectoryEntry) => void

    • ডিরেক্টরি এন্ট্রি

      ডিরেক্টরি এন্ট্রি

রিটার্নস

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

    Chrome 122+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getPlatformInfo()

প্রতিশ্রুতি
chrome.runtime.getPlatformInfo(
  callback?: function,
)

বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য প্রদান করে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি < প্ল্যাটফর্ম ইনফো >

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getURL()

chrome.runtime.getURL(
  path: string,
)

একটি অ্যাপ/এক্সটেনশন ইনস্টল ডিরেক্টরির মধ্যে একটি আপেক্ষিক পথকে একটি সম্পূর্ণ-যোগ্য URL-এ রূপান্তর করে।

পরামিতি

  • পথ

    স্ট্রিং

    একটি অ্যাপ/এক্সটেনশনের মধ্যে একটি সংস্থানের একটি পথ যা তার ইনস্টল ডিরেক্টরির সাথে সম্পর্কিত।

রিটার্নস

  • স্ট্রিং

    সম্পদের সম্পূর্ণরূপে-যোগ্য URL।

openOptionsPage()

প্রতিশ্রুতি
chrome.runtime.openOptionsPage(
  callback?: function,
)

সম্ভব হলে আপনার এক্সটেনশনের বিকল্প পৃষ্ঠা খুলুন।

সুনির্দিষ্ট আচরণ নির্ভর করতে পারে আপনার ম্যানিফেস্টের options_ui বা options_page কী, অথবা সেই সময়ে Chrome কী সমর্থন করে। উদাহরণস্বরূপ, পৃষ্ঠাটি একটি নতুন ট্যাবে খোলা হতে পারে, chrome://extensions এর মধ্যে, একটি অ্যাপের মধ্যে, অথবা এটি শুধুমাত্র একটি খোলা বিকল্প পৃষ্ঠায় ফোকাস করতে পারে৷ এটি কখনই কলার পৃষ্ঠাটিকে পুনরায় লোড করবে না।

যদি আপনার এক্সটেনশন একটি বিকল্প পৃষ্ঠা ঘোষণা না করে, বা Chrome অন্য কোনো কারণে একটি তৈরি করতে ব্যর্থ হয়, তাহলে কলব্যাকটি lastError সেট করবে।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

রিটার্নস

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

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

reload()

chrome.runtime.reload()

অ্যাপ বা এক্সটেনশন পুনরায় লোড করে। এই পদ্ধতি কিয়স্ক মোডে সমর্থিত নয়। কিওস্ক মোডের জন্য, chrome.runtime.restart() পদ্ধতি ব্যবহার করুন।

requestUpdateCheck()

প্রতিশ্রুতি
chrome.runtime.requestUpdateCheck(
  callback?: function,
)

এই অ্যাপ/এক্সটেনশনের জন্য অবিলম্বে আপডেট চেক করার অনুরোধ করে।

গুরুত্বপূর্ণ : বেশিরভাগ এক্সটেনশন/অ্যাপগুলি এই পদ্ধতিটি ব্যবহার করা উচিত নয় , যেহেতু Chrome ইতিমধ্যেই প্রতি কয়েক ঘন্টা স্বয়ংক্রিয় পরীক্ষা করে, এবং আপনি requestUpdateCheck কল করার প্রয়োজন ছাড়াই runtime.onUpdateAvailable ইভেন্ট শুনতে পারেন৷

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

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

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (result: object) => void

    • ফলাফল

      বস্তু

      Chrome 109+

      RequestUpdateCheckResult অবজেক্ট যা আপডেট চেকের স্ট্যাটাস এবং ফলাফলের বিশদ বিবরণ ধারণ করে যদি একটি আপডেট উপলব্ধ থাকে

      • অবস্থা

        আপডেট চেকের ফলাফল।

      • সংস্করণ

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

        একটি আপডেট উপলব্ধ হলে, এটি উপলব্ধ আপডেটের সংস্করণ ধারণ করে।

রিটার্নস

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

    Chrome 109+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

restart()

chrome.runtime.restart()

অ্যাপটি কিয়স্ক মোডে চলে গেলে ChromeOS ডিভাইসটি পুনরায় চালু করুন। অন্যথায়, এটা কোন অপশন.

restartAfterDelay()

প্রতিশ্রুতি Chrome 53+
chrome.runtime.restartAfterDelay(
  seconds: number,
  callback?: function,
)

প্রদত্ত সেকেন্ডের পরে যখন অ্যাপটি কিয়স্ক মোডে চলে তখন ChromeOS ডিভাইসটি পুনরায় চালু করুন৷ সময় শেষ হওয়ার আগে আবার কল করা হলে, রিবুট বিলম্বিত হবে। -1 মান দিয়ে কল করা হলে, রিবুট বাতিল করা হবে। এটি নন-কিওস্ক মোডে একটি নো-অপ। এই API চালু করার জন্য এটি শুধুমাত্র প্রথম এক্সটেনশন দ্বারা বারবার কল করার অনুমতি রয়েছে৷

পরামিতি

  • সেকেন্ড

    সংখ্যা

    ডিভাইস রিবুট করার আগে সেকেন্ডের মধ্যে অপেক্ষা করার সময়, অথবা একটি নির্ধারিত রিবুট বাতিল করতে -1।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

রিটার্নস

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

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

sendMessage()

প্রতিশ্রুতি
chrome.runtime.sendMessage(
  extensionId?: string,
  message: any,
  options?: object,
  callback?: function,
)

আপনার এক্সটেনশন বা একটি ভিন্ন এক্সটেনশন/অ্যাপের মধ্যে ইভেন্ট শ্রোতাদের একটি একক বার্তা পাঠায়। runtime.connect এর অনুরূপ কিন্তু শুধুমাত্র একটি একক বার্তা পাঠায়, একটি ঐচ্ছিক প্রতিক্রিয়া সহ। আপনার এক্সটেনশনে পাঠানো হলে, runtime.onMessage ইভেন্টটি আপনার এক্সটেনশনের প্রতিটি ফ্রেমে (প্রেরকের ফ্রেম ব্যতীত), অথবা runtime.onMessageExternal , যদি একটি ভিন্ন এক্সটেনশন হয়। মনে রাখবেন যে এক্সটেনশন এই পদ্ধতি ব্যবহার করে বিষয়বস্তু স্ক্রিপ্টে বার্তা পাঠাতে পারে না। কন্টেন্ট স্ক্রিপ্টে বার্তা পাঠাতে, tabs.sendMessage ব্যবহার করুন।

পরামিতি

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

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

    বার্তা পাঠানোর জন্য এক্সটেনশনের আইডি। বাদ দিলে, বার্তাটি আপনার নিজস্ব এক্সটেনশন/অ্যাপে পাঠানো হবে। ওয়েব বার্তা পাঠানোর জন্য একটি ওয়েব পৃষ্ঠা থেকে বার্তা পাঠাতে হলে প্রয়োজনীয়৷

  • বার্তা

    যেকোনো

    মেসেজ পাঠাতে হবে। এই বার্তাটি একটি JSON-ইফাইযোগ্য বস্তু হওয়া উচিত।

  • বিকল্প

    বস্তু ঐচ্ছিক

    • TlsChannelId অন্তর্ভুক্ত করুন

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

      TLS চ্যানেল আইডিটি সংযোগ ইভেন্টের জন্য শুনছে এমন প্রক্রিয়াগুলির জন্য onMessageExternal-এ পাস করা হবে কিনা।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 99+

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (response: any) => void

    • প্রতিক্রিয়া

      যেকোনো

      বার্তার হ্যান্ডলার দ্বারা পাঠানো JSON প্রতিক্রিয়া বস্তু। যদি এক্সটেনশনের সাথে সংযোগ করার সময় একটি ত্রুটি ঘটে, কলব্যাকটি কোন আর্গুমেন্ট ছাড়াই কল করা হবে এবং runtime.lastError ত্রুটি বার্তায় সেট করা হবে৷

রিটার্নস

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

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

sendNativeMessage()

প্রতিশ্রুতি
chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
  callback?: function,
)

একটি নেটিভ অ্যাপ্লিকেশন একটি একক বার্তা পাঠান. এই পদ্ধতির জন্য "nativeMessaging" অনুমতি প্রয়োজন৷

পরামিতি

  • আবেদন

    স্ট্রিং

    নেটিভ মেসেজিং হোস্টের নাম।

  • বার্তা

    বস্তু

    যে বার্তাটি নেটিভ মেসেজিং হোস্টে পাঠানো হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 99+

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (response: any) => void

    • প্রতিক্রিয়া

      যেকোনো

      নেটিভ মেসেজিং হোস্টের পাঠানো প্রতিক্রিয়া বার্তা। নেটিভ মেসেজিং হোস্টের সাথে সংযোগ করার সময় যদি একটি ত্রুটি ঘটে, তাহলে কলব্যাকটি কোন আর্গুমেন্ট ছাড়াই কল করা হবে এবং runtime.lastError ত্রুটি বার্তায় সেট করা হবে৷

রিটার্নস

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

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

setUninstallURL()

প্রতিশ্রুতি
chrome.runtime.setUninstallURL(
  url: string,
  callback?: function,
)

আনইনস্টল করার পরে পরিদর্শন করা URL সেট করে। এটি সার্ভার-সাইড ডেটা পরিষ্কার করতে, বিশ্লেষণ করতে এবং সমীক্ষা বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। সর্বাধিক 1023 অক্ষর।

পরামিতি

  • url

    স্ট্রিং

    এক্সটেনশন আনইনস্টল করার পরে URL খুলতে হবে। এই ইউআরএলে অবশ্যই একটি http: বা https: স্কিম থাকতে হবে। আনইনস্টল করার পরে একটি নতুন ট্যাব না খুলতে একটি খালি স্ট্রিং সেট করুন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 45+

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

রিটার্নস

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

    Chrome 99+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

ঘটনা

onBrowserUpdateAvailable

অবচয়
chrome.runtime.onBrowserUpdateAvailable.addListener(
  callback: function,
)

অনুগ্রহ করে runtime.onRestartRequired ব্যবহার করুন।

যখন একটি Chrome আপডেট উপলব্ধ থাকে তখন ফায়ার করা হয়, কিন্তু অবিলম্বে ইনস্টল করা হয় না কারণ একটি ব্রাউজার পুনঃসূচনা প্রয়োজন৷

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

onConnect

chrome.runtime.onConnect.addListener(
  callback: function,
)

একটি এক্সটেনশন প্রক্রিয়া বা একটি বিষয়বস্তু স্ক্রিপ্ট ( runtime.connect দ্বারা) থেকে একটি সংযোগ তৈরি করা হলে বহিস্কার করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (port: Port) => void

onConnectExternal

chrome.runtime.onConnectExternal.addListener(
  callback: function,
)

অন্য এক্সটেনশন ( runtime.connect দ্বারা), বা বাহ্যিকভাবে সংযোগযোগ্য ওয়েব সাইট থেকে একটি সংযোগ তৈরি করা হলে বহিস্কার করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (port: Port) => void

onConnectNative

Chrome 76+
chrome.runtime.onConnectNative.addListener(
  callback: function,
)

একটি নেটিভ অ্যাপ্লিকেশন থেকে একটি সংযোগ তৈরি করা হলে বহিস্কার করা হয়। এই ইভেন্টটির জন্য "nativeMessaging" অনুমতি প্রয়োজন৷ এটি শুধুমাত্র Chrome OS এ সমর্থিত।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (port: Port) => void

onInstalled

chrome.runtime.onInstalled.addListener(
  callback: function,
)

যখন এক্সটেনশনটি প্রথম ইনস্টল করা হয়, যখন এক্সটেনশনটি একটি নতুন সংস্করণে আপডেট করা হয় এবং যখন Chrome একটি নতুন সংস্করণে আপডেট করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (details: object) => void

    • বিস্তারিত

      বস্তু

      • আইডি

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

        আমদানিকৃত শেয়ার্ড মডিউল এক্সটেনশনের ID নির্দেশ করে যা আপডেট করা হয়েছে। 'কারণ' 'shared_module_update' হলেই এটি উপস্থিত থাকে।

      • পূর্ববর্তী সংস্করণ

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

        এক্সটেনশনের পূর্ববর্তী সংস্করণ নির্দেশ করে, যা সবেমাত্র আপডেট করা হয়েছে। 'কারণ' 'আপডেট' হলেই এটি উপস্থিত থাকে।

      • যে কারণে এই অনুষ্ঠানটি পাঠানো হচ্ছে।

onMessage

chrome.runtime.onMessage.addListener(
  callback: function,
)

একটি এক্সটেনশন প্রক্রিয়া ( runtime.sendMessage দ্বারা) অথবা একটি বিষয়বস্তু স্ক্রিপ্ট ( tabs.sendMessage দ্বারা) থেকে একটি বার্তা পাঠানো হলে বহিস্কার করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (message: any, sender: MessageSender, sendResponse: function) => boolean | undefined

    • বার্তা

      যেকোনো

    • প্রতিক্রিয়া পাঠান

      ফাংশন

      sendResponse প্যারামিটারটি এর মত দেখাচ্ছে:

      () => void

    • রিটার্ন

      বুলিয়ান | অনির্ধারিত

onMessageExternal

chrome.runtime.onMessageExternal.addListener(
  callback: function,
)

অন্য এক্সটেনশন থেকে ( runtime.sendMessage দ্বারা) একটি বার্তা পাঠানো হলে বহিস্কার করা হয়। একটি বিষয়বস্তু স্ক্রিপ্ট ব্যবহার করা যাবে না.

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (message: any, sender: MessageSender, sendResponse: function) => boolean | undefined

    • বার্তা

      যেকোনো

    • প্রতিক্রিয়া পাঠান

      ফাংশন

      sendResponse প্যারামিটারটি এর মত দেখাচ্ছে:

      () => void

    • রিটার্ন

      বুলিয়ান | অনির্ধারিত

onRestartRequired

chrome.runtime.onRestartRequired.addListener(
  callback: function,
)

যখন একটি অ্যাপ বা ডিভাইস যা এটি চালায় সেটি পুনরায় চালু করার প্রয়োজন হলে ফায়ার করা হয়। রিস্টার্ট হওয়ার জন্য অ্যাপটিকে তার সবথেকে সুবিধাজনক সময়ে তার সব উইন্ডো বন্ধ করে দেওয়া উচিত। যদি অ্যাপটি কিছুই না করে, তাহলে 24-ঘন্টা গ্রেস পিরিয়ড পার হওয়ার পরে একটি রিস্টার্ট কার্যকর করা হবে। বর্তমানে, এই ইভেন্টটি শুধুমাত্র Chrome OS কিয়স্ক অ্যাপের জন্য চালু করা হয়েছে।

পরামিতি

onStartup

chrome.runtime.onStartup.addListener(
  callback: function,
)

এই এক্সটেনশন ইনস্টল করা একটি প্রোফাইল প্রথমে শুরু হলে বহিস্কার করা হয়। একটি ছদ্মবেশী প্রোফাইল শুরু হলে এই ইভেন্টটি চালিত হয় না, এমনকি যদি এই এক্সটেনশনটি 'বিভক্ত' ছদ্মবেশী মোডে কাজ করে।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

onSuspend

chrome.runtime.onSuspend.addListener(
  callback: function,
)

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

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

onSuspendCanceled

chrome.runtime.onSuspendCanceled.addListener(
  callback: function,
)

অনসাসপেন্ডের পরে পাঠানো হয়েছে ইঙ্গিত দিতে যে অ্যাপটি সব পরে আনলোড করা হবে না।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

onUpdateAvailable

chrome.runtime.onUpdateAvailable.addListener(
  callback: function,
)

একটি আপডেট উপলব্ধ হলে চালিত করা হয়, কিন্তু অ্যাপটি বর্তমানে চলমান থাকার কারণে অবিলম্বে ইনস্টল করা হয় না। আপনি যদি কিছু না করেন, পরের বার ব্যাকগ্রাউন্ড পৃষ্ঠাটি আনলোড হওয়ার পরে আপডেটটি ইনস্টল করা হবে, যদি আপনি এটিকে শীঘ্রই ইনস্টল করতে চান তবে আপনি স্পষ্টভাবে chrome.runtime.reload() কল করতে পারেন৷ যদি আপনার এক্সটেনশন একটি স্থায়ী ব্যাকগ্রাউন্ড পৃষ্ঠা ব্যবহার করে, তবে অবশ্যই পটভূমি পৃষ্ঠাটি কখনই আনলোড হয় না, তাই এই ইভেন্টের প্রতিক্রিয়া হিসাবে আপনি chrome.runtime.reload() কে ম্যানুয়ালি কল না করলে পরের বার Chrome নিজেই পুনরায় চালু না হওয়া পর্যন্ত আপডেটটি ইনস্টল করা হবে না৷ যদি কোনও হ্যান্ডলার এই ইভেন্টের জন্য না শোনে, এবং আপনার এক্সটেনশনের একটি স্থায়ী ব্যাকগ্রাউন্ড পৃষ্ঠা থাকে, তাহলে এটি এমন আচরণ করে যেন এই ইভেন্টের প্রতিক্রিয়া হিসাবে chrome.runtime.reload() কল করা হয়৷

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (details: object) => void

    • বিস্তারিত

      বস্তু

      • সংস্করণ

        স্ট্রিং

        উপলব্ধ আপডেটের সংস্করণ নম্বর।

onUserScriptConnect

Chrome 115+ MV3+
chrome.runtime.onUserScriptConnect.addListener(
  callback: function,
)

এই এক্সটেনশন থেকে একটি ব্যবহারকারী স্ক্রিপ্ট থেকে একটি সংযোগ তৈরি করা হলে বহিস্কার করা হয়৷

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (port: Port) => void

onUserScriptMessage

Chrome 115+ MV3+
chrome.runtime.onUserScriptMessage.addListener(
  callback: function,
)

একই এক্সটেনশনের সাথে যুক্ত একটি ব্যবহারকারী স্ক্রিপ্ট থেকে একটি বার্তা পাঠানো হলে বহিস্কার করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    (message: any, sender: MessageSender, sendResponse: function) => boolean | undefined

    • বার্তা

      যেকোনো

    • প্রতিক্রিয়া পাঠান

      ফাংশন

      sendResponse প্যারামিটারটি এর মত দেখাচ্ছে:

      () => void

    • রিটার্ন

      বুলিয়ান | অনির্ধারিত