বর্ণনা
পরিষেবা কর্মী পুনরুদ্ধার করতে chrome.runtime
API ব্যবহার করুন, ম্যানিফেস্ট সম্পর্কে বিশদ বিবরণ ফেরত দিন এবং এক্সটেনশন লাইফসাইকেলে ইভেন্টগুলি শুনুন এবং প্রতিক্রিয়া জানান৷ আপনি URL-এর আপেক্ষিক পাথকে সম্পূর্ণ-যোগ্য URL-এ রূপান্তর করতে এই API ব্যবহার করতে পারেন।
এই API-এর অধিকাংশ সদস্যদের কোনো অনুমতির প্রয়োজন নেই । connectNative()
, sendNativeMessage()
এবং onNativeConnect
এর জন্য এই অনুমতি প্রয়োজন।
নিম্নলিখিত উদাহরণ দেখায় কিভাবে ম্যানিফেস্টে "nativeMessaging"
অনুমতি ঘোষণা করতে হয়:
manifest.json:
{
"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">
)। একটি ওয়েব পৃষ্ঠায় একটি এক্সটেনশন সম্পদ অন্তর্ভুক্ত করার ক্ষেত্রেও এটি সত্য। দুটি পার্থক্য হল এক্সটেনশনের সম্পদগুলিকে অবশ্যই ওয়েব অ্যাক্সেসযোগ্য সংস্থান হিসাবে প্রকাশ করতে হবে এবং সাধারণত বিষয়বস্তু স্ক্রিপ্টগুলি এক্সটেনশন সম্পদগুলি ইনজেক্ট করার জন্য দায়ী৷
এই উদাহরণে, একটি সম্পূর্ণ-যোগ্য 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);
});
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);
}
});
আনইনস্টল সম্পর্কে মতামত সংগ্রহ করুন
এক্সটেনশনটি কীভাবে তার ব্যবহারকারীদের আরও ভালভাবে পরিবেশন করতে পারে এবং ধরে রাখার উন্নতি করতে পারে তা বোঝার জন্য অনেক এক্সটেনশন পোস্ট-আনইনস্টল সমীক্ষা ব্যবহার করে। নিম্নলিখিত উদাহরণ দেখায় কিভাবে এই কার্যকারিতা যোগ করতে.
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
নির্দিষ্ট এক্সটেনশন প্রসঙ্গের সাথে মেলে একটি ফিল্টার। মিলিত প্রসঙ্গগুলি অবশ্যই সমস্ত নির্দিষ্ট ফিল্টারের সাথে মেলে; যে কোনো ফিল্টার যা নির্দিষ্ট করা হয়নি তা সমস্ত উপলব্ধ প্রসঙ্গের সাথে মেলে। এইভাবে, `{}` এর একটি ফিল্টার সমস্ত উপলব্ধ প্রসঙ্গের সাথে মিলবে।
বৈশিষ্ট্য
- প্রসঙ্গ আইডি
স্ট্রিং[] ঐচ্ছিক
- প্রসঙ্গ প্রকার
ContextType [] ঐচ্ছিক
- ডকুমেন্ট আইডি
স্ট্রিং[] ঐচ্ছিক
- নথির উৎপত্তি
স্ট্রিং[] ঐচ্ছিক
- ডকুমেন্ট ইউআরএল
স্ট্রিং[] ঐচ্ছিক
- ফ্রেমআইডি
সংখ্যা[] ঐচ্ছিক
- ছদ্মবেশী
বুলিয়ান ঐচ্ছিক
- ট্যাবআইডি
সংখ্যা[] ঐচ্ছিক
- windowIds
সংখ্যা[] ঐচ্ছিক
ContextType
এনাম
"ট্যাব" "পপআপ" "ব্যাকগ্রাউন্ড" "OFFSCREEN_DOCUMENT" "SIDE_PANEL" "DEVELOPER_TOOLS"
একটি ট্যাব হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে
একটি এক্সটেনশন পপআপ উইন্ডো হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে
একটি পরিষেবা কর্মী হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে৷
একটি অফস্ক্রিন নথি হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে৷
একটি পার্শ্ব প্যানেল হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।
বিকাশকারী সরঞ্জাম হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।
ExtensionContext
একটি প্রসঙ্গ হোস্টিং এক্সটেনশন সামগ্রী।
বৈশিষ্ট্য
- প্রসঙ্গ আইডি
স্ট্রিং
এই প্রসঙ্গের জন্য একটি অনন্য শনাক্তকারী
- প্রসঙ্গ প্রকার
এই অনুরূপ প্রসঙ্গ ধরনের.
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গের সাথে যুক্ত নথির জন্য একটি 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_update" "ভাগ করা_মডিউল_আপডেট"
একটি ইনস্টলেশন হিসাবে ইভেন্ট কারণ নির্দিষ্ট করে।
একটি এক্সটেনশন আপডেট হিসাবে ইভেন্ট কারণ নির্দিষ্ট করে।
একটি Chrome আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে৷
একটি ভাগ করা মডিউলের আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে৷
OnRestartRequiredReason
যে কারণে অনুষ্ঠানটি পাঠানো হচ্ছে। রিস্টার্টের প্রয়োজন হলে 'app_update' ব্যবহার করা হয় কারণ অ্যাপ্লিকেশনটি একটি নতুন সংস্করণে আপডেট করা হয়। 'os_update' ব্যবহার করা হয় যখন পুনরায় চালু করার প্রয়োজন হয় কারণ ব্রাউজার/OS একটি নতুন সংস্করণে আপডেট করা হয়। 'পর্যায়ক্রমিক' ব্যবহার করা হয় যখন সিস্টেমটি এন্টারপ্রাইজ নীতিতে নির্ধারিত আপটাইমের চেয়ে বেশি সময় ধরে চলে।
এনাম
"অ্যাপ_আপডেট" "os_update" "পর্যায়ক্রমিক"
অ্যাপের আপডেট হিসেবে ইভেন্টের কারণ উল্লেখ করে।
অপারেটিং সিস্টেমের আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
অ্যাপের পর্যায়ক্রমিক পুনঃসূচনা হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
PlatformArch
মেশিনের প্রসেসরের আর্কিটেকচার।
এনাম
"বাহু" "বাহু 64" "x86-32" "x86-64" "মিপস" "mips64"
বাহু হিসাবে প্রসেসর আর্কিটেকচার নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে arm64 হিসাবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে x86-32 হিসাবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে x86-64 হিসাবে নির্দিষ্ট করে।
মিপস হিসাবে প্রসেসর আর্কিটেকচার নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে mips64 হিসাবে নির্দিষ্ট করে।
PlatformInfo
বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য ধারণকারী একটি বস্তু।
বৈশিষ্ট্য
- খিলান
মেশিনের প্রসেসরের আর্কিটেকচার।
- nacl_arch
নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের খিলান থেকে ভিন্ন হতে পারে।
- os
ক্রোম অপারেটিং সিস্টেম চালু আছে।
PlatformNaclArch
নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের খিলান থেকে ভিন্ন হতে পারে।
এনাম
"বাহু" "x86-32" "x86-64" "মিপস" "mips64"
আর্ম হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।
x86-32 হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।
x86-64 হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।
mips হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।
mips64 হিসাবে নেটিভ ক্লায়েন্ট আর্কিটেকচার নির্দিষ্ট করে।
PlatformOs
ক্রোম অপারেটিং সিস্টেম চালু আছে।
এনাম
"ম্যাক" "জয়" "অ্যান্ড্রয়েড" "ক্রস" "লিনাক্স" "ওপেনবিএসডি" "ফুচিয়া"
MacOS অপারেটিং সিস্টেম নির্দিষ্ট করে।
উইন্ডোজ অপারেটিং সিস্টেম নির্দিষ্ট করে।
অ্যান্ড্রয়েড অপারেটিং সিস্টেম নির্দিষ্ট করে।
Chrome অপারেটিং সিস্টেম নির্দিষ্ট করে।
লিনাক্স অপারেটিং সিস্টেম নির্দিষ্ট করে।
OpenBSD অপারেটিং সিস্টেম নির্দিষ্ট করে।
Fuchsia অপারেটিং সিস্টেম নির্দিষ্ট করে।
Port
একটি বস্তু যা অন্য পৃষ্ঠাগুলির সাথে দ্বিমুখী যোগাযোগের অনুমতি দেয়। আরও তথ্যের জন্য দীর্ঘস্থায়ী সংযোগগুলি দেখুন৷
বৈশিষ্ট্য
- নাম
স্ট্রিং
পোর্টের নাম, যেমন
runtime.connect
এর কলে উল্লেখ করা হয়েছে। - সংযোগ বিচ্ছিন্ন করুন
ইভেন্ট<functionvoidvoid>
বন্দরটি অন্য প্রান্ত(গুলি) থেকে সংযোগ বিচ্ছিন্ন হলে গুলি করা হয়৷
runtime.lastError
সেট করা হতে পারে যদি কোনো ত্রুটির কারণে পোর্টটি সংযোগ বিচ্ছিন্ন হয়ে যায়। যদি সংযোগ বিচ্ছিন্ন করার মাধ্যমে পোর্টটি বন্ধ করা হয়, তাহলে এই ইভেন্টটি শুধুমাত্র অন্য প্রান্তে গুলি করা হয়। এই ইভেন্টটি সর্বাধিক একবারে গুলি করা হয় (এছাড়াও পোর্ট জীবনকাল দেখুন)।onDisconnect.addListener
ফাংশনটি এরকম দেখাচ্ছে:(callback: function) => {...}
- onMessage
ইভেন্ট<functionvoidvoid>
পোর্টের অন্য প্রান্তে পোস্টমেসেজ কল করা হলে এই ইভেন্টটি চালু করা হয়।
onMessage.addListener
ফাংশনটি এরকম দেখাচ্ছে:(callback: function) => {...}
- প্রেরক
মেসেজ সেন্ডার ঐচ্ছিক
এই সম্পত্তি শুধুমাত্র onConnect / onConnectExternal / onConnectNative শ্রোতাদের পাস করা পোর্টগুলিতে উপস্থিত থাকবে।
- সংযোগ বিচ্ছিন্ন
অকার্যকর
অবিলম্বে পোর্ট সংযোগ বিচ্ছিন্ন করুন. ইতিমধ্যেই সংযোগ বিচ্ছিন্ন পোর্টে
disconnect()
কল করার কোন প্রভাব নেই। যখন একটি পোর্ট সংযোগ বিচ্ছিন্ন হয়, তখন এই বন্দরে কোনো নতুন ইভেন্ট পাঠানো হবে না।disconnect
ফাংশন এর মত দেখাচ্ছে:() => {...}
- পোস্ট মেসেজ
অকার্যকর
বন্দরের অন্য প্রান্তে একটি বার্তা পাঠান। পোর্ট সংযোগ বিচ্ছিন্ন হলে, একটি ত্রুটি নিক্ষেপ করা হয়.
postMessage
ফাংশনটি এর মতো দেখাচ্ছে:(message: any) => {...}
- বার্তা
যেকোনো
Chrome 52+মেসেজ পাঠাতে হবে। এই বস্তুটি JSON-fiable হওয়া উচিত।
RequestUpdateCheckStatus
আপডেট চেকের ফলাফল।
এনাম
"থ্রটলড" "না_আপডেট" "আপডেট_উপলব্ধ"
নির্দিষ্ট করে যে স্ট্যাটাস চেক থ্রোটল করা হয়েছে। এটি অল্প সময়ের মধ্যে বারবার চেক করার পরে ঘটতে পারে।
উল্লেখ করে যে ইনস্টল করার জন্য কোন উপলব্ধ আপডেট নেই।
উল্লেখ করে যে ইনস্টল করার জন্য একটি উপলব্ধ আপডেট আছে৷
বৈশিষ্ট্য
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.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,
)
বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য প্রদান করে।
পরামিতি
- কলব্যাক
ফাংশন ঐচ্ছিক
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(platformInfo: PlatformInfo) => void
- প্ল্যাটফর্ম তথ্য
রিটার্নস
প্রতিশ্রুতি < প্ল্যাটফর্ম ইনফো >
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।
getURL()
chrome.runtime.getURL(
path: string,
)
একটি অ্যাপ/এক্সটেনশন ইনস্টল ডিরেক্টরির মধ্যে একটি আপেক্ষিক পথকে একটি সম্পূর্ণ-যোগ্য URL-এ রূপান্তর করে।
পরামিতি
- পথ
স্ট্রিং
একটি অ্যাপ/এক্সটেনশনের মধ্যে একটি সংস্থানের একটি পথ যা তার ইনস্টল ডিরেক্টরির সাথে সম্পর্কিত।
রিটার্নস
স্ট্রিং
সম্পদের সম্পূর্ণরূপে-যোগ্য URL।
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
)
সম্ভব হলে আপনার এক্সটেনশনের বিকল্প পৃষ্ঠা খুলুন।
সুনির্দিষ্ট আচরণ আপনার ম্যানিফেস্টের [options_ui](https://developer.chrome.com/docs/extensions/develop/ui/options-page#embedded_options)
বা [options_page](https://developer.chrome.com/docs/extensions/develop/ui/options-page#full_page)
এর উপর নির্ভর করতে পারে [options_page](https://developer.chrome.com/docs/extensions/develop/ui/options-page#full_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.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
দ্বারা) থেকে একটি সংযোগ তৈরি করা হলে বহিস্কার করা হয়।
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 একটি নতুন সংস্করণে আপডেট করা হয়।
পরামিতি
- কলব্যাক
ফাংশন
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 কিয়স্ক অ্যাপের জন্য চালু করা হয়েছে।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(reason: OnRestartRequiredReason) => void
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.runtime.onUserScriptConnect.addListener(
callback: function,
)
এই এক্সটেনশন থেকে একটি ব্যবহারকারী স্ক্রিপ্ট থেকে একটি সংযোগ তৈরি করা হলে বহিস্কার করা হয়৷
onUserScriptMessage
chrome.runtime.onUserScriptMessage.addListener(
callback: function,
)
একই এক্সটেনশনের সাথে যুক্ত একটি ব্যবহারকারী স্ক্রিপ্ট থেকে একটি বার্তা পাঠানো হলে বহিস্কার করা হয়।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি এর মতো দেখাচ্ছে:(message: any, sender: MessageSender, sendResponse: function) => boolean | undefined
- বার্তা
যেকোনো
- প্রেরক
- প্রতিক্রিয়া পাঠান
ফাংশন
sendResponse
প্যারামিটারটি এর মত দেখাচ্ছে:() => void
- রিটার্ন
বুলিয়ান | অনির্ধারিত