chrome.runtime (original) (raw)

সরাসরি আসল কন্টেন্টে যান

বিবরণ

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

এই API-এর বেশিরভাগ সদস্যের কোনও অনুমতির প্রয়োজন হয় না । এই অনুমতিটি connectNative() , sendNativeMessage() এবং onNativeConnect জন্য প্রয়োজন।

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

ম্যানিফেস্ট.জেসন:

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

ধারণা এবং ব্যবহার

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

বার্তা প্রেরণ

আপনার এক্সটেনশনটি আপনার এক্সটেনশনের মধ্যে বিভিন্ন প্রেক্ষাপটের সাথে এবং অন্যান্য এক্সটেনশনের সাথেও এই পদ্ধতি এবং ইভেন্টগুলি ব্যবহার করে যোগাযোগ করতে পারে: connect() , onConnect , onConnectExternal , sendMessage() , onMessage এবং onMessageExternal । এছাড়াও, আপনার এক্সটেনশনটি connectNative() এবং sendNativeMessage() ব্যবহার করে ব্যবহারকারীর ডিভাইসের নেটিভ অ্যাপ্লিকেশনগুলিতে বার্তা প্রেরণ করতে পারে।

এক্সটেনশন এবং প্ল্যাটফর্ম মেটাডেটা অ্যাক্সেস করা হচ্ছে

এই পদ্ধতিগুলি আপনাকে এক্সটেনশন এবং প্ল্যাটফর্ম সম্পর্কে বেশ কয়েকটি নির্দিষ্ট মেটাডেটা পুনরুদ্ধার করতে দেয়। এই বিভাগের পদ্ধতিগুলির মধ্যে রয়েছে getManifest() , এবং getPlatformInfo()

এক্সটেনশন জীবনচক্র এবং বিকল্পগুলি পরিচালনা করা

এই বৈশিষ্ট্যগুলি আপনাকে এক্সটেনশনে কিছু মেটা-অপারেশন সম্পাদন করতে এবং বিকল্প পৃষ্ঠা প্রদর্শন করতে দেয়। এই বিভাগের পদ্ধতি এবং ইভেন্টগুলির মধ্যে রয়েছে onInstalled , onStartup , openOptionsPage() , reload() , requestUpdateCheck() , এবং setUninstallURL()

সহায়ক ইউটিলিটি

এই পদ্ধতিগুলি অভ্যন্তরীণ সম্পদ উপস্থাপনাকে বহিরাগত ফর্ম্যাটে রূপান্তর করার মতো উপযোগিতা প্রদান করে। এই বিভাগের পদ্ধতিগুলির মধ্যে রয়েছে getURL()

কিয়স্ক মোড ইউটিলিটি

এই পদ্ধতিগুলি শুধুমাত্র ChromeOS-এ উপলব্ধ, এবং মূলত কিয়স্ক বাস্তবায়ন সমর্থন করার জন্য বিদ্যমান। এই বিভাগের পদ্ধতিগুলির মধ্যে রয়েছে restart() এবং restartAfterDelay() `

আনপ্যাকড এক্সটেনশন আচরণ

যখন একটি আনপ্যাকড এক্সটেনশন পুনরায় লোড করা হয়, তখন এটি একটি আপডেট হিসাবে বিবেচিত হয়। এর অর্থ হল chrome.runtime.onInstalled ইভেন্টটি "update" কারণ সহ সক্রিয় হবে। এর মধ্যে chrome.runtime.reload() দিয়ে এক্সটেনশন পুনরায় লোড করা অন্তর্ভুক্ত।

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

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

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

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

ম্যানিফেস্ট.জেসন:

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

কন্টেন্ট.জেএস:

{ // 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 বার্তাটি পরিষেবা কর্মীর কাছে পাঠায় এবং এটি ব্যবহারকারীর তথ্যের একটি অনুলিপি সহ প্রতিক্রিয়া জানায়।

কন্টেন্ট.জেএস:

// 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);
});

service-worker.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);
  }
});

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

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

ব্যাকগ্রাউন্ড.জেএস:

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

উদাহরণ

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

প্রকারভেদ

ContextFilter

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

বৈশিষ্ট্য

ContextType

এনাম

"ট্যাব"
ট্যাব হিসেবে কনটেক্সট টাইপ নির্দিষ্ট করে।

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

"পটভূমি"
পরিষেবা কর্মী হিসেবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।

"অফস্ক্রিন_ডকুমেন্ট"
অফস্ক্রিন ডকুমেন্ট হিসেবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।

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

"ডেভেলপার_টুল"
ডেভেলপার টুল হিসেবে কনটেক্সট টাইপ নির্দিষ্ট করে।

ExtensionContext

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

বৈশিষ্ট্য

MessageSender

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

বৈশিষ্ট্য

OnInstalledReason

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

এনাম

"ইনস্টল করুন"
ইভেন্টের কারণটিকে ইনস্টলেশন হিসেবে উল্লেখ করে।

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

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

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

OnRestartRequiredReason

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

এনাম

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

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

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

PlatformArch

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

এনাম

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

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

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

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

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

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

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

PlatformInfo

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

বৈশিষ্ট্য

PlatformNaclArch

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

এনাম

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

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

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

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

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

PlatformOs

Chrome যে অপারেটিং সিস্টেমে চলছে।

এনাম

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

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

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

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

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

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

Port

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

বৈশিষ্ট্য

RequestUpdateCheckStatus

আপডেট পরীক্ষার ফলাফল।

এনাম

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

"কোন_আপডেট_নয়"
ইনস্টল করার জন্য কোনও উপলব্ধ আপডেট নেই তা নির্দিষ্ট করে।

"আপডেট_উপলব্ধ"
ইনস্টল করার জন্য একটি উপলব্ধ আপডেট আছে কিনা তা নির্দিষ্ট করে।

বৈশিষ্ট্য

id

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

lastError

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

বৈশিষ্ট্য

পদ্ধতি

connect()

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

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

পরামিতি

রিটার্নস

connectNative()

chrome.runtime.connectNative(
  application: string,
): Port

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

পরামিতি

রিটার্নস

getBackgroundPage()

শুধুমাত্র ফোরগ্রাউন্ড Chrome 133 থেকে অপ্রচলিত

chrome.runtime.getBackgroundPage(): Promise<Window | undefined>

MV3 এক্সটেনশনে ব্যাকগ্রাউন্ড পৃষ্ঠাগুলি বিদ্যমান নেই।

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

রিটার্নস

getContexts()

chrome.runtime.getContexts(
  filter: ContextFilter,
): Promise<ExtensionContext[]>

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

পরামিতি

রিটার্নস

getManifest()

chrome.runtime.getManifest(): object

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

রিটার্নস

getPackageDirectoryEntry()

chrome.runtime.getPackageDirectoryEntry(): Promise

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

রিটার্নস

getPlatformInfo()

chrome.runtime.getPlatformInfo(): Promise<PlatformInfo>

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

রিটার্নস

getURL()

chrome.runtime.getURL(
  path: string,
): string

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

পরামিতি

রিটার্নস

getVersion()

chrome.runtime.getVersion(): string

ম্যানিফেস্টে ঘোষিত এক্সটেনশনের সংস্করণটি ফেরত পাঠায়।

রিটার্নস

openOptionsPage()

chrome.runtime.openOptionsPage(): Promise

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

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

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

রিটার্নস

reload()

chrome.runtime.reload(): void

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

requestUpdateCheck()

chrome.runtime.requestUpdateCheck(): Promise

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

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

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

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

রিটার্নস

restart()

chrome.runtime.restart(): void

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

restartAfterDelay()

chrome.runtime.restartAfterDelay(
  seconds: number,
): Promise

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

পরামিতি

রিটার্নস

sendMessage()

chrome.runtime.sendMessage(
  extensionId?: string,
  message: any,
  options?: object,
): Promise

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

পরামিতি

রিটার্নস

sendNativeMessage()

chrome.runtime.sendNativeMessage(
  application: string,
  message: object,
): Promise

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

পরামিতি

রিটার্নস

setUninstallURL()

chrome.runtime.setUninstallURL(
  url: string,
): Promise

আনইনস্টল করার সময় কোন URL টি দেখা হবে তা সেট করে। এটি সার্ভার-সাইড ডেটা পরিষ্কার করতে, বিশ্লেষণ করতে এবং জরিপ বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। সর্বাধিক ১০২৩ অক্ষর।

পরামিতি

রিটার্নস

ইভেন্টগুলি

onBrowserUpdateAvailable

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

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

Chrome আপডেট উপলব্ধ থাকলে চালু করা হয়, কিন্তু ব্রাউজার পুনরায় চালু করার প্রয়োজন হওয়ায় তাৎক্ষণিকভাবে ইনস্টল করা হয় না।

পরামিতি

onConnect

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

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

পরামিতি

onConnectExternal

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

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

পরামিতি

onConnectNative

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

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

পরামিতি

onInstalled

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

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

পরামিতি

onMessage

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

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

পরামিতি

onMessageExternal

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

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

পরামিতি

onRestartRequired

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

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

পরামিতি

onStartup

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

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

পরামিতি

onSuspend

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

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

পরামিতি

onSuspendCanceled

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

onSuspend এর পরে পাঠানো হয়েছে যাতে বোঝা যায় যে অ্যাপটি আর আনলোড করা হবে না।

পরামিতি

onUpdateAvailable

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

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

পরামিতি

onUserScriptConnect

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

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

পরামিতি

onUserScriptMessage

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

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

পরামিতি

অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।

2024-02-06 UTC-তে শেষবার আপডেট করা হয়েছে।