বিবরণ
পরিষেবা কর্মী পুনরুদ্ধার করতে, ম্যানিফেস্ট সম্পর্কে বিশদ বিবরণ ফেরত দিতে এবং এক্সটেনশন জীবনচক্রের ইভেন্টগুলি শুনতে এবং প্রতিক্রিয়া জানাতে 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
একটি প্রসঙ্গ হোস্টিং এক্সটেনশন কন্টেন্ট।
বৈশিষ্ট্য
- প্রসঙ্গ আইডি
স্ট্রিং
এই প্রসঙ্গের জন্য একটি অনন্য শনাক্তকারী
- প্রসঙ্গ প্রকার
এটি যে ধরণের প্রেক্ষাপটের সাথে সম্পর্কিত।
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গের সাথে সম্পর্কিত নথির জন্য একটি UUID, অথবা যদি এই প্রসঙ্গটি কোনও নথিতে না হোস্ট করা হয় তবে অনির্ধারিত।
- ডকুমেন্ট অরিজিন
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গের সাথে সম্পর্কিত নথির উৎপত্তি, অথবা যদি প্রসঙ্গটি কোনও নথিতে হোস্ট না করা থাকে তবে অনির্ধারিত।
- ডকুমেন্ট ইউআরএল
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গের সাথে সম্পর্কিত ডকুমেন্টের URL, অথবা যদি কোনও ডকুমেন্টে প্রসঙ্গটি হোস্ট না করা থাকে তবে অনির্ধারিত।
- ফ্রেম আইডি
সংখ্যা
এই প্রসঙ্গের জন্য ফ্রেমের আইডি, অথবা -1 যদি এই প্রসঙ্গের ফ্রেমে হোস্ট না করা থাকে।
- ছদ্মবেশী
বুলিয়ান
প্রসঙ্গটি কোনও ছদ্মবেশী প্রোফাইলের সাথে সম্পর্কিত কিনা।
- ট্যাবআইডি
সংখ্যা
এই প্রসঙ্গের জন্য ট্যাবের আইডি, অথবা -1 যদি এই প্রসঙ্গের কোনও ট্যাবে হোস্ট করা না থাকে।
- উইন্ডো আইডি
সংখ্যা
এই প্রসঙ্গের জন্য উইন্ডোর আইডি, অথবা -1 যদি এই প্রসঙ্গের কোনও উইন্ডোতে হোস্ট করা না থাকে।
MessageSender
একটি অবজেক্ট যাতে স্ক্রিপ্টের প্রেক্ষাপট সম্পর্কে তথ্য রয়েছে যা একটি বার্তা বা অনুরোধ পাঠিয়েছে।
বৈশিষ্ট্য
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
ক্রোম ১০৬+সংযোগটি খোলার নথির একটি UUID।
- ডকুমেন্টলাইফসাইকেল
স্ট্রিং ঐচ্ছিক
ক্রোম ১০৬+পোর্ট তৈরির সময় যে ডকুমেন্টটি সংযোগটি খুলেছিল, সেটির লাইফসাইকেলটি সেখানেই ছিল। মনে রাখবেন যে পোর্ট তৈরির পর থেকে ডকুমেন্টের লাইফসাইকেলের অবস্থা পরিবর্তিত হতে পারে।
- ফ্রেম আইডি
সংখ্যা ঐচ্ছিক
যে ফ্রেমটি সংযোগটি খুলেছে। শীর্ষ-স্তরের ফ্রেমের জন্য 0, শিশু ফ্রেমের জন্য ধনাত্মক। এটি কেবল তখনই সেট করা হবে যখন
tab
সেট করা থাকবে। - আইডি
স্ট্রিং ঐচ্ছিক
যে এক্সটেনশনটি সংযোগটি খুলেছে, যদি থাকে, তার আইডি।
- নেটিভ অ্যাপ্লিকেশন
স্ট্রিং ঐচ্ছিক
ক্রোম ৭৪+সংযোগটি খোলার জন্য নেটিভ অ্যাপ্লিকেশনের নাম, যদি থাকে।
- উৎপত্তি
স্ট্রিং ঐচ্ছিক
ক্রোম ৮০+যে পৃষ্ঠা বা ফ্রেম থেকে সংযোগটি খোলা হয়েছে তার উৎপত্তিস্থল। এটি url বৈশিষ্ট্য (যেমন, about:blank) থেকে ভিন্ন হতে পারে অথবা অস্বচ্ছ (যেমন, sandboxed iframes) হতে পারে। URL থেকে তাৎক্ষণিকভাবে না জানা গেলে উৎপত্তিস্থল বিশ্বাসযোগ্য কিনা তা সনাক্ত করার জন্য এটি কার্যকর।
- ট্যাব
ট্যাব ঐচ্ছিক
যদি কোনও ট্যাব থাকে, তাহলে সংযোগটি খোলার জন্য
tabs.Tab
এই বৈশিষ্ট্যটি কেবল তখনই উপস্থিত থাকবে যখন সংযোগটি একটি ট্যাব থেকে খোলা হবে (কন্টেন্ট স্ক্রিপ্ট সহ), এবং শুধুমাত্র যদি রিসিভারটি একটি এক্সটেনশন হয়, কোনও অ্যাপ নয়। - tlsChannelId সম্পর্কে
স্ট্রিং ঐচ্ছিক
এক্সটেনশনের অনুরোধে এবং উপলব্ধ থাকলে, সংযোগটি খোলা পৃষ্ঠা বা ফ্রেমের TLS চ্যানেল আইডি।
- ইউআরএল
স্ট্রিং ঐচ্ছিক
যে পৃষ্ঠা বা ফ্রেম থেকে সংযোগটি খোলা হয়েছে তার URL। যদি প্রেরক একটি আইফ্রেমে থাকে, তাহলে এটি আইফ্রেমের URL হবে, এটি হোস্ট করা পৃষ্ঠার URL নয়।
OnInstalledReason
এই অনুষ্ঠানটি কেন পাঠানো হচ্ছে।
এনাম
"ইনস্টল করুন" "আপডেট" "ক্রোম_আপডেট" "শেয়ার্ড_মডিউল_আপডেট"
ইভেন্টের কারণটিকে ইনস্টলেশন হিসেবে উল্লেখ করে।
ইভেন্টের কারণটিকে একটি এক্সটেনশন আপডেট হিসেবে উল্লেখ করে।
ইভেন্টের কারণটিকে Chrome আপডেট হিসেবে উল্লেখ করে।
একটি শেয়ার্ড মডিউলের আপডেট হিসেবে ইভেন্টের কারণ উল্লেখ করে।
OnRestartRequiredReason
ইভেন্টটি কেন পাঠানো হচ্ছে। 'app_update' ব্যবহার করা হয় যখন রিস্টার্ট প্রয়োজন হয় কারণ অ্যাপ্লিকেশনটি একটি নতুন সংস্করণে আপডেট করা হয়। 'os_update' ব্যবহার করা হয় যখন রিস্টার্ট প্রয়োজন হয় কারণ ব্রাউজার/OS একটি নতুন সংস্করণে আপডেট করা হয়। 'periodic' ব্যবহার করা হয় যখন সিস্টেমটি এন্টারপ্রাইজ নীতিতে সেট করা অনুমোদিত আপটাইমের চেয়ে বেশি সময় ধরে চলে।
এনাম
"অ্যাপ_আপডেট" "ওএস_আপডেট" "সাময়িক"
অ্যাপের আপডেট হিসেবে ইভেন্টের কারণ উল্লেখ করে।
অপারেটিং সিস্টেমের আপডেট হিসেবে ইভেন্টের কারণ উল্লেখ করে।
অ্যাপের পর্যায়ক্রমিক পুনঃসূচনা হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
PlatformArch
মেশিনের প্রসেসর আর্কিটেকচার।
এনাম
"বাহু" "আর্ম৬৪" "x86-32" "x86-64" "মিপস" "মিপস৬৪" "riscv64"
প্রসেসর আর্কিটেকচারকে arm হিসেবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে arm64 হিসেবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে x86-32 হিসেবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে x86-64 হিসেবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে mips হিসেবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে mips64 হিসেবে নির্দিষ্ট করে।
প্রসেসর আর্কিটেকচারকে riscv64 হিসেবে নির্দিষ্ট করে।
PlatformInfo
বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য সম্বলিত একটি বস্তু।
বৈশিষ্ট্য
- খিলান
মেশিনের প্রসেসর আর্কিটেকচার।
- nacl_arch সম্পর্কে
প্ল্যাটফর্মNaclArch ঐচ্ছিক
নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের আর্চ থেকে আলাদা হতে পারে।
- অপারেটিং সিস্টেম
Chrome যে অপারেটিং সিস্টেমে চলছে।
PlatformNaclArch
নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের আর্চ থেকে আলাদা হতে পারে।
এনাম
"বাহু" "x86-32" "x86-64" "মিপস" "মিপস৬৪"
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে arm হিসেবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে x86-32 হিসেবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে x86-64 হিসেবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে mips হিসেবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে mips64 হিসেবে নির্দিষ্ট করে।
PlatformOs
Chrome যে অপারেটিং সিস্টেমে চলছে।
এনাম
"ম্যাক" "জয়" "অ্যান্ড্রয়েড" "ক্রস" "লিনাক্স" "ওপেনবিএসডি"
MacOS অপারেটিং সিস্টেম নির্দিষ্ট করে।
উইন্ডোজ অপারেটিং সিস্টেম নির্দিষ্ট করে।
অ্যান্ড্রয়েড অপারেটিং সিস্টেম নির্দিষ্ট করে।
Chrome অপারেটিং সিস্টেম নির্দিষ্ট করে।
লিনাক্স অপারেটিং সিস্টেম নির্দিষ্ট করে।
OpenBSD অপারেটিং সিস্টেম নির্দিষ্ট করে।
Port
এমন একটি বস্তু যা অন্যান্য পৃষ্ঠার সাথে দ্বিমুখী যোগাযোগের সুযোগ করে দেয়। আরও তথ্যের জন্য দীর্ঘস্থায়ী সংযোগগুলি দেখুন।
বৈশিষ্ট্য
- নাম
স্ট্রিং
runtime.connect
এ কল করার সময় উল্লেখিত পোর্টের নাম। - অনডিসকানেক্ট
ইভেন্ট<ফাংশনvoidvoid>
যখন পোর্টটি অন্য প্রান্ত থেকে সংযোগ বিচ্ছিন্ন থাকে তখন এটি চালু হয়। যদি কোনও ত্রুটির কারণে পোর্টটি সংযোগ বিচ্ছিন্ন হয়ে থাকে তবে
runtime.lastError
সেট করা যেতে পারে। যদি পোর্টটি disconnect এর মাধ্যমে বন্ধ করা হয়, তাহলে এই ইভেন্টটি কেবল অন্য প্রান্তে চালু হয়। এই ইভেন্টটি সর্বাধিক একবার চালু হয় ( Port lifetime দেখুন)।onDisconnect.addListener
ফাংশনটি দেখতে এরকম:(callback: function) => {...}
- onMessage সম্পর্কে
ইভেন্ট<ফাংশনvoidvoid>
পোর্টের অন্য প্রান্ত থেকে যখন postMessage কল করা হয় তখন এই ইভেন্টটি চালু হয়।
onMessage.addListener
ফাংশনটি দেখতে এরকম:(callback: function) => {...}
- প্রেরক
বার্তাপ্রেরক ঐচ্ছিক
এই বৈশিষ্ট্যটি শুধুমাত্র onConnect / onConnectExternal / onConnectNative শ্রোতাদের কাছে পাঠানো পোর্টগুলিতে উপস্থিত থাকবে।
- সংযোগ বিচ্ছিন্ন করা
শূন্য
অবিলম্বে পোর্টটি সংযোগ বিচ্ছিন্ন করুন। ইতিমধ্যেই সংযোগ বিচ্ছিন্ন পোর্টে
disconnect()
কল করার কোনও প্রভাব নেই। যখন একটি পোর্ট সংযোগ বিচ্ছিন্ন করা হয়, তখন এই পোর্টে কোনও নতুন ইভেন্ট প্রেরণ করা হবে না।disconnect
ফাংশনটি এরকম দেখাচ্ছে:() => {...}
- পোস্টমেসেজ
শূন্য
পোর্টের অন্য প্রান্তে একটি বার্তা পাঠান। যদি পোর্টটি সংযোগ বিচ্ছিন্ন হয়, তাহলে একটি ত্রুটি দেখাবে।
postMessage
ফাংশনটি দেখতে এরকম:(message: any) => {...}
- বার্তা
যেকোনো
ক্রোম ৫২+পাঠানোর জন্য বার্তা। এই বস্তুটি JSON-যোগ্য হওয়া উচিত।
RequestUpdateCheckStatus
আপডেট পরীক্ষার ফলাফল।
এনাম
"অস্থির" "কোন_আপডেট_নয়" "আপডেট_উপলব্ধ"
নির্দিষ্ট করে যে স্ট্যাটাস চেক থ্রোটল করা হয়েছে। অল্প সময়ের মধ্যে বারবার চেক করার পরে এটি ঘটতে পারে।
ইনস্টল করার জন্য কোনও উপলব্ধ আপডেট নেই তা নির্দিষ্ট করে।
ইনস্টল করার জন্য একটি উপলব্ধ আপডেট আছে কিনা তা নির্দিষ্ট করে।
বৈশিষ্ট্য
id
এক্সটেনশন/অ্যাপের আইডি।
আদর্শ
স্ট্রিং
lastError
যদি কোনও API ফাংশন কল করা ব্যর্থ হয়, তাহলে একটি ত্রুটি বার্তা দেখা যাবে; অন্যথায় অনির্ধারিত। এটি শুধুমাত্র সেই ফাংশনের কলব্যাকের সুযোগের মধ্যেই সংজ্ঞায়িত করা হবে। যদি কোনও ত্রুটি তৈরি হয়, কিন্তু কলব্যাকের মধ্যে runtime.lastError
অ্যাক্সেস করা না যায়, তাহলে কনসোলে একটি বার্তা লগ করা হবে যেখানে ত্রুটি তৈরিকারী API ফাংশনটি তালিকাভুক্ত করা হবে। প্রতিশ্রুতি প্রদানকারী API ফাংশনগুলি এই বৈশিষ্ট্যটি সেট করে না।
আদর্শ
বস্তু
বৈশিষ্ট্য
- বার্তা
স্ট্রিং ঐচ্ছিক
যে ত্রুটিটি ঘটেছে তার বিশদ বিবরণ।
পদ্ধতি
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
): Port
একটি এক্সটেনশনের (যেমন ব্যাকগ্রাউন্ড পৃষ্ঠা) মধ্যে শ্রোতাদের সংযোগ করার প্রচেষ্টা, অথবা অন্যান্য এক্সটেনশন/অ্যাপ। এটি কন্টেন্ট স্ক্রিপ্টগুলিকে তাদের এক্সটেনশন প্রক্রিয়া, আন্তঃ-অ্যাপ/এক্সটেনশন যোগাযোগ এবং ওয়েব মেসেজিংয়ের সাথে সংযুক্ত করার জন্য কার্যকর। মনে রাখবেন যে এটি কোনও কন্টেন্ট স্ক্রিপ্টের কোনও শ্রোতার সাথে সংযুক্ত হয় না। এক্সটেনশনগুলি tabs.connect
এর মাধ্যমে ট্যাবে এমবেড করা কন্টেন্ট স্ক্রিপ্টগুলির সাথে সংযুক্ত হতে পারে।
পরামিতি
- এক্সটেনশন আইডি
স্ট্রিং ঐচ্ছিক
যে এক্সটেনশনের সাথে সংযোগ স্থাপন করতে হবে তার আইডি। যদি বাদ দেওয়া হয়, তাহলে আপনার নিজস্ব এক্সটেনশন দিয়ে একটি সংযোগ স্থাপনের চেষ্টা করা হবে। ওয়েব মেসেজিংয়ের জন্য কোনও ওয়েব পৃষ্ঠা থেকে বার্তা পাঠানোর জন্য এটি প্রয়োজন।
- কানেক্টইনফো
ঐচ্ছিক বস্তু
- অন্তর্ভুক্ত করুনTlsChannelId
বুলিয়ান ঐচ্ছিক
সংযোগ ইভেন্টের জন্য শোনার প্রক্রিয়াগুলির জন্য TLS চ্যানেল আইডি onConnectExternal-এ পাঠানো হবে কিনা।
- নাম
স্ট্রিং ঐচ্ছিক
সংযোগ ইভেন্টের জন্য শোনার প্রক্রিয়াগুলির জন্য onConnect-এ পাস করা হবে।
রিটার্নস
যে পোর্টের মাধ্যমে বার্তা পাঠানো এবং গ্রহণ করা যায়। এক্সটেনশনটি বিদ্যমান না থাকলে পোর্টের onDisconnect ইভেন্টটি চালু হয়।
connectNative()
chrome.runtime.connectNative(
application: string,
): Port
হোস্ট মেশিনে একটি নেটিভ অ্যাপ্লিকেশনের সাথে সংযোগ স্থাপন করে। এই পদ্ধতির জন্য "nativeMessaging"
অনুমতি প্রয়োজন। আরও তথ্যের জন্য নেটিভ মেসেজিং দেখুন।
পরামিতি
- আবেদন
স্ট্রিং
সংযোগ করার জন্য নিবন্ধিত আবেদনপত্রের নাম।
রিটার্নস
অ্যাপ্লিকেশনের মাধ্যমে যে পোর্টের মাধ্যমে বার্তা পাঠানো এবং গ্রহণ করা যাবে
getBackgroundPage()
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>
প্যাকেজ ডিরেক্টরির জন্য একটি DirectoryEntry প্রদান করে।
রিটার্নস
প্রতিশ্রুতি<ডিরেক্টরিএন্ট্রি>
ক্রোম ১২২+
getPlatformInfo()
chrome.runtime.getPlatformInfo(): Promise<PlatformInfo>
বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য প্রদান করে।
রিটার্নস
প্রতিশ্রুতি< প্ল্যাটফর্ম তথ্য >
ক্রোম ৯৯+
getURL()
chrome.runtime.getURL(
path: string,
): string
একটি অ্যাপ/এক্সটেনশন ইনস্টল ডিরেক্টরির মধ্যে একটি আপেক্ষিক পথকে একটি সম্পূর্ণ-যোগ্য URL-এ রূপান্তর করে।
পরামিতি
- পথ
স্ট্রিং
একটি অ্যাপ/এক্সটেনশনের মধ্যে একটি রিসোর্সের একটি পাথ যা তার ইনস্টল ডিরেক্টরির সাথে সাপেক্ষে প্রকাশ করা হয়।
রিটার্নস
স্ট্রিং
রিসোর্সের সম্পূর্ণরূপে যোগ্য URL।
getVersion()
chrome.runtime.getVersion(): string
ম্যানিফেস্টে ঘোষিত এক্সটেনশনের সংস্করণটি ফেরত পাঠায়।
রিটার্নস
স্ট্রিং
এক্সটেনশনের সংস্করণ।
openOptionsPage()
chrome.runtime.openOptionsPage(): Promise<void>
সম্ভব হলে আপনার এক্সটেনশনের বিকল্প পৃষ্ঠাটি খুলুন।
সুনির্দিষ্ট আচরণ আপনার ম্যানিফেস্টের options_ui
অথবা options_page
কী, অথবা সেই সময়ে Chrome কী সমর্থন করে তার উপর নির্ভর করতে পারে। উদাহরণস্বরূপ, পৃষ্ঠাটি একটি নতুন ট্যাবে, chrome://extensions-এর মধ্যে, একটি অ্যাপের মধ্যে খোলা হতে পারে, অথবা এটি কেবল একটি খোলা বিকল্প পৃষ্ঠাকে ফোকাস করতে পারে। এটি কখনই কলার পৃষ্ঠাটিকে পুনরায় লোড করতে বাধ্য করবে না।
যদি আপনার এক্সটেনশন একটি বিকল্প পৃষ্ঠা ঘোষণা না করে, অথবা অন্য কোনও কারণে Chrome একটি তৈরি করতে ব্যর্থ হয়, তাহলে কলব্যাক lastError
সেট করবে।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
ক্রোম ৯৯+
reload()
chrome.runtime.reload(): void
অ্যাপ বা এক্সটেনশন পুনরায় লোড করে। এই পদ্ধতিটি কিয়স্ক মোডে সমর্থিত নয়। কিয়স্ক মোডের জন্য, chrome.runtime.restart() পদ্ধতি ব্যবহার করুন।
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(): Promise<object>
এই অ্যাপ/এক্সটেনশনের জন্য অবিলম্বে আপডেট পরীক্ষা করার অনুরোধ করা হচ্ছে।
গুরুত্বপূর্ণ : বেশিরভাগ এক্সটেনশন/অ্যাপের এই পদ্ধতি ব্যবহার করা উচিত নয় , কারণ Chrome ইতিমধ্যেই প্রতি কয়েক ঘন্টা অন্তর স্বয়ংক্রিয়ভাবে চেক করে, এবং আপনি requestUpdateCheck কল না করেই runtime.onUpdateAvailable
ইভেন্টটি শুনতে পারেন।
এই পদ্ধতিটি শুধুমাত্র খুব সীমিত পরিস্থিতিতে কল করার জন্য উপযুক্ত, যেমন যদি আপনার এক্সটেনশনটি কোনও ব্যাকএন্ড পরিষেবার সাথে কথা বলে এবং ব্যাকএন্ড পরিষেবা নির্ধারণ করে যে ক্লায়েন্ট এক্সটেনশন সংস্করণটি অনেক পুরানো এবং আপনি একজন ব্যবহারকারীকে আপডেট করার জন্য অনুরোধ করতে চান। requestUpdateCheck এর অন্যান্য বেশিরভাগ ব্যবহার, যেমন পুনরাবৃত্তিমূলক টাইমারের উপর ভিত্তি করে নিঃশর্তভাবে কল করা, সম্ভবত কেবল ক্লায়েন্ট, নেটওয়ার্ক এবং সার্ভার রিসোর্স নষ্ট করে।
দ্রষ্টব্য: কলব্যাকের মাধ্যমে কল করা হলে, কোনও অবজেক্ট ফেরত দেওয়ার পরিবর্তে এই ফাংশনটি দুটি বৈশিষ্ট্যকে কলব্যাকে পৃথক আর্গুমেন্ট হিসাবে ফেরত দেবে।
রিটার্নস
প্রতিশ্রুতি <object>
ক্রোম ১০৯+
restart()
chrome.runtime.restart(): void
অ্যাপটি কিয়স্ক মোডে চলাকালীন ChromeOS ডিভাইসটি পুনরায় চালু করুন। অন্যথায়, এটি নো-অপ।
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
): Promise<void>
প্রদত্ত সেকেন্ড পরে অ্যাপটি কিয়স্ক মোডে চলার সময় ChromeOS ডিভাইসটি পুনরায় চালু করুন। সময় শেষ হওয়ার আগে আবার কল করা হলে, রিবুট বিলম্বিত হবে। -1 মান সহ কল করা হলে, রিবুট বাতিল করা হবে। এটি নন-কিয়স্ক মোডে একটি নো-অপ। এই API চালু করার জন্য শুধুমাত্র প্রথম এক্সটেনশন দ্বারা বারবার কল করার অনুমতি রয়েছে।
পরামিতি
- সেকেন্ড
সংখ্যা
ডিভাইসটি রিবুট করার আগে কয়েক সেকেন্ড অপেক্ষা করার সময়, অথবা নির্ধারিত রিবুট বাতিল করতে -1।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
ক্রোম ৯৯+
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
): Promise<any>
আপনার এক্সটেনশন অথবা অন্য কোনও এক্সটেনশন/অ্যাপের মধ্যে ইভেন্ট লিসেনারের কাছে একটিমাত্র বার্তা পাঠায়। runtime.connect
এর মতোই, কিন্তু শুধুমাত্র একটিমাত্র বার্তা পাঠায়, একটি ঐচ্ছিক প্রতিক্রিয়া সহ। আপনার এক্সটেনশনে পাঠানো হলে, runtime.onMessage
ইভেন্টটি আপনার এক্সটেনশনের প্রতিটি ফ্রেমে (প্রেরকের ফ্রেম ব্যতীত) বা runtime.onMessageExternal
ইভেন্টটি চালানো হবে, যদি এটি একটি ভিন্ন এক্সটেনশন হয়। মনে রাখবেন যে এক্সটেনশনগুলি এই পদ্ধতি ব্যবহার করে কন্টেন্ট স্ক্রিপ্টে বার্তা পাঠাতে পারে না। কন্টেন্ট স্ক্রিপ্টে বার্তা পাঠাতে, tabs.sendMessage
ব্যবহার করুন।
পরামিতি
- এক্সটেনশন আইডি
স্ট্রিং ঐচ্ছিক
যে এক্সটেনশনে বার্তাটি পাঠানো হবে তার আইডি। বাদ দিলে, বার্তাটি আপনার নিজস্ব এক্সটেনশন/অ্যাপে পাঠানো হবে। ওয়েব মেসেজিংয়ের জন্য কোনও ওয়েব পৃষ্ঠা থেকে বার্তা পাঠানোর জন্য এটি প্রয়োজন।
- বার্তা
যেকোনো
যে বার্তাটি পাঠাতে হবে। এই বার্তাটি একটি JSON-যোগ্য বস্তু হওয়া উচিত।
- বিকল্পগুলি
ঐচ্ছিক বস্তু
- অন্তর্ভুক্ত করুনTlsChannelId
বুলিয়ান ঐচ্ছিক
সংযোগ ইভেন্টের জন্য শোনার প্রক্রিয়াগুলির জন্য TLS চ্যানেল আইডি onMessageExternal-এ পাঠানো হবে কিনা।
রিটার্নস
প্রতিশ্রুতি <যেকোনো>
ক্রোম ৯৯+
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
): Promise<any>
একটি নেটিভ অ্যাপ্লিকেশনে একটি মাত্র বার্তা পাঠান। এই পদ্ধতির জন্য "nativeMessaging"
অনুমতি প্রয়োজন।
পরামিতি
- আবেদন
স্ট্রিং
নেটিভ মেসেজিং হোস্টের নাম।
- বার্তা
বস্তু
যে বার্তাটি নেটিভ মেসেজিং হোস্টের কাছে পাঠানো হবে।
রিটার্নস
প্রতিশ্রুতি <যেকোনো>
ক্রোম ৯৯+
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
): Promise<void>
আনইনস্টল করার সময় কোন URL টি দেখা হবে তা সেট করে। এটি সার্ভার-সাইড ডেটা পরিষ্কার করতে, বিশ্লেষণ করতে এবং জরিপ বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। সর্বাধিক ১০২৩ অক্ষর।
পরামিতি
- ইউআরএল
স্ট্রিং
এক্সটেনশনটি আনইনস্টল করার পরে যে URLটি খুলতে হবে। এই URLটিতে অবশ্যই একটি http: অথবা https: স্কিম থাকতে হবে। আনইনস্টল করার পরে একটি নতুন ট্যাব না খোলার জন্য একটি খালি স্ট্রিং সেট করুন।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
ক্রোম ৯৯+
ইভেন্টগুলি
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
- বিস্তারিত
বস্তু
- আইডি
স্ট্রিং ঐচ্ছিক
আমদানি করা শেয়ার্ড মডিউল এক্সটেনশনের আইডি নির্দেশ করে যা আপডেট করা হয়েছে। এটি কেবল তখনই উপস্থিত থাকে যদি 'কারণ' '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,
)
ইভেন্ট পৃষ্ঠাটি আনলোড করার ঠিক আগে পাঠানো হয়েছে। এটি এক্সটেনশনটিকে কিছু পরিষ্কার করার সুযোগ দেয়। মনে রাখবেন যেহেতু পৃষ্ঠাটি আনলোড হচ্ছে, তাই এই ইভেন্টটি পরিচালনা করার সময় শুরু হওয়া কোনও অ্যাসিঙ্ক্রোনাস অপারেশন সম্পূর্ণ হওয়ার নিশ্চয়তা নেই। যদি ইভেন্ট পৃষ্ঠাটি আনলোড হওয়ার আগে আরও কার্যকলাপ ঘটে তবে onSuspendCanceled ইভেন্টটি পাঠানো হবে এবং পৃষ্ঠাটি আনলোড করা হবে না।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি দেখতে এরকম:() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
onSuspend এর পরে পাঠানো হয়েছে যাতে বোঝা যায় যে অ্যাপটি আর আনলোড করা হবে না।
পরামিতি
- কলব্যাক
ফাংশন
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
- ফেরত
বুলিয়ান | অনির্ধারিত