বর্ণনা
পরিষেবা কর্মী পুনরুদ্ধার করতে 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,
)
MV3 এক্সটেনশনে ব্যাকগ্রাউন্ড পেজ নেই।
বর্তমান এক্সটেনশন/অ্যাপের ভিতরে চলমান পটভূমি পৃষ্ঠার জন্য জাভাস্ক্রিপ্ট 'উইন্ডো' অবজেক্ট পুনরুদ্ধার করে। যদি ব্যাকগ্রাউন্ড পৃষ্ঠাটি একটি ইভেন্ট পৃষ্ঠা হয়, তাহলে কলব্যাক কল করার আগে সিস্টেম এটি লোড হয়েছে তা নিশ্চিত করবে। কোনো পটভূমি পৃষ্ঠা না থাকলে, একটি ত্রুটি সেট করা হয়।
পরামিতি
- কলব্যাক
ফাংশন ঐচ্ছিক
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
বা 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.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
- রিটার্ন
বুলিয়ান | অনির্ধারিত
বর্ণনা
পরিষেবা কর্মী পুনরুদ্ধার করতে 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);
}
একটি বিষয়বস্তু স্ক্রিপ্ট থেকে পরিষেবা কর্মীর কাছে ডেটা পাঠান
একটি এক্সটেনশনের বিষয়বস্তু স্ক্রিপ্টের জন্য এক্সটেনশনের অন্য অংশ দ্বারা পরিচালিত ডেটা প্রয়োজন, যেমন পরিষেবা কর্মী। অনেকটা একই ওয়েব পৃষ্ঠায় দুটি ব্রাউজার উইন্ডো খোলার মতো, এই দুটি প্রসঙ্গই একে অপরের মান সরাসরি অ্যাক্সেস করতে পারে না। পরিবর্তে, এক্সটেনশনটি এই বিভিন্ন প্রসঙ্গে সমন্বয় করতে বার্তা পাসিং ব্যবহার করতে পারে।
এই উদাহরণে, সামগ্রী স্ক্রিপ্টটির ইউআই আরম্ভ করার জন্য এক্সটেনশনের পরিষেবা কর্মীর কাছ থেকে কিছু ডেটা প্রয়োজন। এই ডেটা পেতে, এটি বিকাশকারী-সংজ্ঞায়িত 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);
});
পরিষেবা-কর্মী.জেএস:
// 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');
}
});
উদাহরণ
আরও রানটাইম এপিআই উদাহরণগুলির জন্য ম্যানিফেস্ট ভি 3 - ওয়েব অ্যাক্সেসযোগ্য সংস্থানসমূহ ডেমো দেখুন।
প্রকারভেদ
ContextFilter
নির্দিষ্ট এক্সটেনশন প্রসঙ্গে মেলে একটি ফিল্টার। ম্যাচিং প্রসঙ্গে অবশ্যই সমস্ত নির্দিষ্ট ফিল্টারগুলির সাথে মেলে; নির্দিষ্ট নয় এমন কোনও ফিল্টার সমস্ত উপলভ্য প্রসঙ্গে মেলে। সুতরাং, `{} of এর একটি ফিল্টার সমস্ত উপলভ্য প্রসঙ্গে মেলে।
বৈশিষ্ট্য
- প্রসঙ্গ
স্ট্রিং[] ঐচ্ছিক
- প্রসঙ্গ টাইপস
প্রসঙ্গ টাইপ [] al চ্ছিক
- ডকুমেন্টিডস
স্ট্রিং[] ঐচ্ছিক
- ডকুমেন্টরিগিনস
স্ট্রিং[] ঐচ্ছিক
- ডকুমেন্টারলস
স্ট্রিং[] ঐচ্ছিক
- ফ্রেমিডস
সংখ্যা [] al চ্ছিক
- ছদ্মবেশী
বুলিয়ান al চ্ছিক
- ট্যাবিডস
সংখ্যা [] al চ্ছিক
- উইন্ডোইডস
সংখ্যা [] al চ্ছিক
ContextType
এনাম
"ট্যাব" "পপআপ" "পটভূমি" "অফস্ক্রিন_ডোকামেন্ট" "সাইড_প্যানেল" "বিকাশকারী_টুলস"
একটি ট্যাব হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে
এক্সটেনশন পপআপ উইন্ডো হিসাবে প্রসঙ্গ প্রকারটি নির্দিষ্ট করে
পরিষেবা কর্মী হিসাবে প্রসঙ্গের ধরণ নির্দিষ্ট করে।
অফস্ক্রিন ডকুমেন্ট হিসাবে প্রসঙ্গ প্রকারটি নির্দিষ্ট করে।
পাশের প্যানেল হিসাবে প্রসঙ্গ প্রকারটি নির্দিষ্ট করে।
বিকাশকারী সরঞ্জাম হিসাবে প্রসঙ্গ প্রকার নির্দিষ্ট করে।
ExtensionContext
একটি প্রসঙ্গ হোস্টিং এক্সটেনশন সামগ্রী।
বৈশিষ্ট্য
- প্রসঙ্গ আইডি
স্ট্রিং
এই প্রসঙ্গে একটি অনন্য পরিচয়
- প্রসঙ্গ টাইপ
এই প্রসঙ্গের সাথে এটি মিলে যায়।
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গের সাথে সম্পর্কিত নথির জন্য একটি ইউইআইডি, বা যদি এই প্রসঙ্গটি কোনও নথিতে হোস্ট না করা হয় তবে অপরিজ্ঞাত।
- ডকুমেন্টরিজিন
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গের সাথে যুক্ত ডকুমেন্টের উত্স, বা প্রসঙ্গটি কোনও নথিতে হোস্ট না করা হলে অপরিজ্ঞাত।
- ডকুমেন্টারল
স্ট্রিং ঐচ্ছিক
এই প্রসঙ্গে যুক্ত ডকুমেন্টের ইউআরএল, বা যদি কোনও নথিতে প্রসঙ্গটি হোস্ট না করা হয় তবে অপরিজ্ঞাত।
- ফ্রেমআইডি
সংখ্যা
এই প্রসঙ্গে ফ্রেমের আইডি, বা -1 যদি এই প্রসঙ্গটি কোনও ফ্রেমে হোস্ট না করা হয়।
- ছদ্মবেশী
বুলিয়ান
প্রসঙ্গটি ছদ্মবেশী প্রোফাইলের সাথে সম্পর্কিত কিনা।
- তাবিড
সংখ্যা
এই প্রসঙ্গে ট্যাবের আইডি, বা -1 যদি এই প্রসঙ্গটি কোনও ট্যাবে হোস্ট না করা হয়।
- উইন্ডোআইড
সংখ্যা
এই প্রসঙ্গে উইন্ডোর আইডি, বা -1 যদি এই প্রসঙ্গটি কোনও উইন্ডোতে হোস্ট না করা হয়।
MessageSender
স্ক্রিপ্ট প্রসঙ্গ সম্পর্কে তথ্যযুক্ত একটি অবজেক্ট যা কোনও বার্তা বা অনুরোধ প্রেরণ করে।
বৈশিষ্ট্য
- ডকুমেন্ট আইডি
স্ট্রিং ঐচ্ছিক
Chrome 106+ডকুমেন্টের একটি ইউআইডি যা সংযোগটি খুলেছে।
- ডকুমেন্টলিফেসাইকেল
স্ট্রিং ঐচ্ছিক
Chrome 106+লাইফাইসাইকেলটি সংযোগটি খোলার দস্তাবেজটি বন্দরটি তৈরি হওয়ার সময় রয়েছে। নোট করুন যে পোর্ট তৈরির পর থেকে নথির লাইফসাইকেল অবস্থা পরিবর্তিত হতে পারে।
- ফ্রেমআইডি
সংখ্যা al চ্ছিক
ফ্রেম যা সংযোগটি খুলেছে। 0 শীর্ষ-স্তরের ফ্রেমের জন্য, শিশু ফ্রেমের জন্য ইতিবাচক। এটি কেবল তখনই সেট করা হবে যখন
tab
সেট করা হবে। - আইডি
স্ট্রিং ঐচ্ছিক
এক্সটেনশনের আইডি যা সংযোগটি খোলে, যদি থাকে।
- নাটিভিপ্লিকেশন
স্ট্রিং ঐচ্ছিক
Chrome 74+দেশীয় অ্যাপ্লিকেশনটির নাম যা সংযোগটি খোলে, যদি থাকে।
- মূল
স্ট্রিং ঐচ্ছিক
Chrome 80+পৃষ্ঠা বা ফ্রেমের উত্স যা সংযোগটি খুলেছে। এটি ইউআরএল সম্পত্তি থেকে পৃথক হতে পারে (যেমন, প্রায়: ফাঁকা) বা অস্বচ্ছ হতে পারে (যেমন, স্যান্ডবক্সযুক্ত আইফ্রেমস)। আমরা যদি অবিলম্বে ইউআরএল থেকে বলতে না পারি তবে উত্সটি বিশ্বাস করা যায় কিনা তা সনাক্ত করার জন্য এটি কার্যকর।
- ট্যাব
ট্যাব al চ্ছিক
tabs.Tab
যা সংযোগটি খোলে, যদি থাকে। এই সম্পত্তিটি কেবল তখনই উপস্থিত থাকবে যখন কোনও ট্যাব (সামগ্রী স্ক্রিপ্টগুলি সহ) থেকে সংযোগটি খোলা হয়েছিল, এবং কেবলমাত্র যদি রিসিভারটি কোনও এক্সটেনশন হয়, কোনও অ্যাপ নয়। - tlschannelid
স্ট্রিং ঐচ্ছিক
পৃষ্ঠা বা ফ্রেমের টিএলএস চ্যানেল আইডি যা সংযোগটি খোলে, যদি এক্সটেনশন দ্বারা অনুরোধ করা হয় এবং যদি পাওয়া যায় তবে।
- url
স্ট্রিং ঐচ্ছিক
পৃষ্ঠা বা ফ্রেমের ইউআরএল যা সংযোগটি খুলেছে। প্রেরক যদি কোনও আইফ্রেমে থাকে তবে এটি আইফ্রেমের ইউআরএল হবে যা পৃষ্ঠার ইউআরএল নয় যা এটি হোস্ট করে।
OnInstalledReason
এই ইভেন্টটি প্রেরণ করা হচ্ছে।
এনাম
"ইনস্টল" "আপডেট" "Chrome_update" "শেয়ারড_মোডুল_আপডেট"
ইনস্টলেশন হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
এক্সটেনশন আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
ক্রোম আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
একটি ভাগ করা মডিউলটিতে আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
OnRestartRequiredReason
ইভেন্টটি প্রেরণ করা হচ্ছে কারণ। পুনরায় চালু করার প্রয়োজন হলে 'অ্যাপ_আপডেট' ব্যবহার করা হয় কারণ অ্যাপ্লিকেশনটি একটি নতুন সংস্করণে আপডেট করা হয়। 'ওএস_আপডেট' ব্যবহার করা হয় যখন পুনরায় আরম্ভের প্রয়োজন হয় কারণ ব্রাউজার/ওএস একটি নতুন সংস্করণে আপডেট করা হয়। 'পর্যায়ক্রমিক' ব্যবহার করা হয় যখন সিস্টেমটি এন্টারপ্রাইজ নীতিতে অনুমোদিত আপটাইম সেটের চেয়ে বেশি চালায়।
এনাম
"app_update" "os_update" "পর্যায়ক্রমিক"
অ্যাপটিতে আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
অপারেটিং সিস্টেমে আপডেট হিসাবে ইভেন্টের কারণ নির্দিষ্ট করে।
অ্যাপ্লিকেশনটির পর্যায়ক্রমিক পুনঃসূচনা হিসাবে ইভেন্টের কারণটি নির্দিষ্ট করে।
PlatformArch
মেশিনের প্রসেসর আর্কিটেকচার।
এনাম
"বাহু" "আর্ম 64" "x86-32" "x86-64" "মিপস" "এমআইপিএস 64"
প্রসেসার আর্কিটেকচারকে বাহু হিসাবে নির্দিষ্ট করে।
প্রসেসার আর্কিটেকচারকে আর্ম 64 হিসাবে নির্দিষ্ট করে।
প্রসেসার আর্কিটেকচারকে x86-32 হিসাবে নির্দিষ্ট করে।
প্রসেসার আর্কিটেকচারকে x86-64 হিসাবে নির্দিষ্ট করে।
প্রসেসার আর্কিটেকচারকে এমআইপিএস হিসাবে নির্দিষ্ট করে।
প্রসেসার আর্কিটেকচারকে এমআইপিএস 64 হিসাবে নির্দিষ্ট করে।
PlatformInfo
বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্যযুক্ত একটি অবজেক্ট।
বৈশিষ্ট্য
- খিলান
মেশিনের প্রসেসর আর্কিটেকচার।
- nacl_arch
নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের খিলান থেকে আলাদা হতে পারে।
- os
অপারেটিং সিস্টেম ক্রোম চলছে।
PlatformNaclArch
নেটিভ ক্লায়েন্ট আর্কিটেকচার। এটি কিছু প্ল্যাটফর্মের খিলান থেকে আলাদা হতে পারে।
এনাম
"বাহু" "x86-32" "x86-64" "মিপস" "এমআইপিএস 64"
দেশীয় ক্লায়েন্ট আর্কিটেকচারকে আর্ম হিসাবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে x86-32 হিসাবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে x86-64 হিসাবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে এমআইপি হিসাবে নির্দিষ্ট করে।
নেটিভ ক্লায়েন্ট আর্কিটেকচারকে এমআইপিএস 64 হিসাবে নির্দিষ্ট করে।
PlatformOs
অপারেটিং সিস্টেম ক্রোম চলছে।
এনাম
"ম্যাক" "উইন" "অ্যান্ড্রয়েড" "ক্রস" "লিনাক্স" "ওপেনবিএসডি" "ফুচিয়া"
ম্যাকোস অপারেটিং সিস্টেম নির্দিষ্ট করে।
উইন্ডোজ অপারেটিং সিস্টেম নির্দিষ্ট করে।
অ্যান্ড্রয়েড অপারেটিং সিস্টেম নির্দিষ্ট করে।
ক্রোম অপারেটিং সিস্টেম নির্দিষ্ট করে।
লিনাক্স অপারেটিং সিস্টেম নির্দিষ্ট করে।
ওপেনবিএসডি অপারেটিং সিস্টেম নির্দিষ্ট করে।
ফুচিয়া অপারেটিং সিস্টেম নির্দিষ্ট করে।
Port
এমন একটি বস্তু যা অন্যান্য পৃষ্ঠাগুলির সাথে দ্বিগুণ যোগাযোগের অনুমতি দেয়। আরও তথ্যের জন্য দীর্ঘকালীন সংযোগগুলি দেখুন।
বৈশিষ্ট্য
- নাম
স্ট্রিং
পোর্টের নাম, যেমন
runtime.connect
কলটিতে নির্দিষ্ট করা হয়েছে। - অনডিসকনেক্ট
ইভেন্ট <ফাংশনভয়েডভয়েড>
বন্দরটি অন্য প্রান্ত থেকে সংযোগ বিচ্ছিন্ন হয়ে গেলে গুলি চালানো হয়।
runtime.lastError
সেট করা যেতে পারে যদি কোনও ত্রুটি দ্বারা বন্দরটি সংযোগ বিচ্ছিন্ন হয়ে যায়। যদি সংযোগ বিচ্ছিন্ন করার মাধ্যমে বন্দরটি বন্ধ থাকে তবে এই ইভেন্টটি কেবল অন্য প্রান্তে বরখাস্ত করা হয়। এই ইভেন্টটি সর্বাধিক একবারে বরখাস্ত করা হয়েছে ( পোর্ট লাইফটাইমও দেখুন)।onDisconnect.addListener
ফাংশন দেখতে মত দেখাচ্ছে:(callback: function) => {...}
- onMessage
ইভেন্ট <ফাংশনভয়েডভয়েড>
পোস্টমেসেজ বন্দরের অন্য প্রান্তে ডাকা হলে এই ইভেন্টটি বরখাস্ত করা হয়।
onMessage.addListener
ফাংশন দেখতে মত দেখাচ্ছে:(callback: function) => {...}
- প্রেরক
মেসেজেন্ডার al চ্ছিক
এই সম্পত্তিটি কেবলমাত্র অনকনেক্ট / অনকনেক্টেক্সটেনাল / অননেক্টনেকটিভ শ্রোতাদের কাছে পাস করা বন্দরগুলিতে উপস্থিত থাকবে।
- সংযোগ বিচ্ছিন্ন
অকার্যকর
সঙ্গে সঙ্গে বন্দর সংযোগ বিচ্ছিন্ন করুন। ইতিমধ্যে বিচ্ছিন্ন বন্দরটিতে
disconnect()
কল করা কোনও প্রভাব নেই। যখন কোনও বন্দর সংযোগ বিচ্ছিন্ন হয়ে যায়, তখন এই বন্দরে কোনও নতুন ইভেন্ট প্রেরণ করা হবে না।disconnect
ফাংশনটি দেখতে কেমন:() => {...}
- পোস্ট মেসেজ
অকার্যকর
বন্দরের অন্য প্রান্তে একটি বার্তা প্রেরণ করুন। যদি বন্দরটি সংযোগ বিচ্ছিন্ন হয় তবে একটি ত্রুটি নিক্ষেপ করা হয়।
postMessage
ফাংশনটি দেখতে কেমন:(message: any) => {...}
- বার্তা
যেকোনো
Chrome 52+প্রেরণ বার্তা। এই অবজেক্টটি JSON-ifable হওয়া উচিত।
RequestUpdateCheckStatus
আপডেট চেক ফলাফল।
এনাম
"থ্রোটলড" "no_update" "আপডেট_আভেলেবল"
স্ট্যাটাস চেকটি থ্রোটল করা হয়েছে তা নির্দিষ্ট করে। এটি অল্প সময়ের মধ্যে বারবার চেকের পরে ঘটতে পারে।
নির্দিষ্ট করে যে ইনস্টল করার জন্য কোনও উপলব্ধ আপডেট নেই।
নির্দিষ্ট করে যে ইনস্টল করার জন্য একটি উপলব্ধ আপডেট রয়েছে।
বৈশিষ্ট্য
id
এক্সটেনশন/অ্যাপের আইডি।
টাইপ
স্ট্রিং
lastError
কোনও এপিআই ফাংশন কল করা ব্যর্থ হলে একটি ত্রুটি বার্তার সাথে পপুলেটেড; অন্যথায় অপরিজ্ঞাত। এটি কেবল সেই ফাংশনের কলব্যাকের আওতার মধ্যে সংজ্ঞায়িত করা হয়। যদি কোনও ত্রুটি উত্পাদিত হয় তবে runtime.lastError
এপিআই ফাংশনগুলি যা রিটার্ন প্রতিশ্রুতি দেয় এই সম্পত্তি সেট করে না।
টাইপ
বস্তু
বৈশিষ্ট্য
- বার্তা
স্ট্রিং ঐচ্ছিক
যে ত্রুটি ঘটেছে সে সম্পর্কে বিশদ।
পদ্ধতি
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
)
শ্রোতাদের একটি এক্সটেনশনের (যেমন ব্যাকগ্রাউন্ড পৃষ্ঠা), বা অন্যান্য এক্সটেনশন/অ্যাপ্লিকেশনগুলির মধ্যে সংযুক্ত করার চেষ্টা। এটি তাদের এক্সটেনশন প্রক্রিয়া, আন্ত-অ্যাপ্লিকেশন/এক্সটেনশন যোগাযোগ এবং ওয়েব মেসেজিংয়ের সাথে সংযুক্ত সামগ্রী স্ক্রিপ্টগুলির জন্য দরকারী। মনে রাখবেন যে এটি কোনও সামগ্রীর স্ক্রিপ্টে কোনও শ্রোতার সাথে সংযুক্ত হয় না। এক্সটেনশনগুলি tabs.connect
মাধ্যমে ট্যাবগুলিতে এম্বেড থাকা সামগ্রী স্ক্রিপ্টগুলির সাথে সংযুক্ত হতে পারে।
পরামিতি
- এক্সটেনশনআইডি
স্ট্রিং ঐচ্ছিক
সংযোগের জন্য এক্সটেনশনের আইডি। যদি বাদ দেওয়া হয় তবে আপনার নিজের এক্সটেনশনের সাথে একটি সংযোগ চেষ্টা করা হবে। ওয়েব মেসেজিংয়ের জন্য কোনও ওয়েব পৃষ্ঠা থেকে বার্তা প্রেরণ করা প্রয়োজন।
- কানেক্টিনফো
অবজেক্ট al চ্ছিক
- অন্তর্ভুক্ত
বুলিয়ান al চ্ছিক
সংযোগ ইভেন্টটি শুনছে এমন প্রক্রিয়াগুলির জন্য টিএলএস চ্যানেল আইডিটি অনকনেক্টেক্সটার্নাল পাস করা হবে কিনা।
- নাম
স্ট্রিং ঐচ্ছিক
সংযোগ ইভেন্টটি শুনছে এমন প্রক্রিয়াগুলির জন্য অনকনেক্টে পাস করা হবে।
রিটার্নস
পোর্ট যার মাধ্যমে বার্তাগুলি প্রেরণ এবং গ্রহণ করা যেতে পারে। এক্সটেনশনের অস্তিত্ব না থাকলে বন্দরের অনডিসকনেক্ট ইভেন্টটি বরখাস্ত করা হয়।
connectNative()
chrome.runtime.connectNative(
application: string,
)
হোস্ট মেশিনে একটি নেটিভ অ্যাপ্লিকেশন সাথে সংযোগ স্থাপন করে। এই পদ্ধতির জন্য "nativeMessaging"
অনুমতি প্রয়োজন। আরও তথ্যের জন্য নেটিভ মেসেজিং দেখুন।
পরামিতি
- আবেদন
স্ট্রিং
সংযোগের জন্য নিবন্ধিত অ্যাপ্লিকেশনটির নাম।
রিটার্নস
পোর্ট যার মাধ্যমে বার্তাগুলি প্রেরণ এবং আবেদন সহ গ্রহণ করা যেতে পারে
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
)
পটভূমি পৃষ্ঠাগুলি এমভি 3 এক্সটেনশনে বিদ্যমান নেই।
বর্তমান এক্সটেনশন/অ্যাপের অভ্যন্তরে চলমান পটভূমি পৃষ্ঠার জন্য জাভাস্ক্রিপ্ট 'উইন্ডো' অবজেক্টটি পুনরুদ্ধার করে। যদি পটভূমি পৃষ্ঠাটি কোনও ইভেন্ট পৃষ্ঠা হয় তবে সিস্টেমটি কলব্যাক কল করার আগে এটি লোড করা হয়েছে তা নিশ্চিত করবে। যদি কোনও পটভূমি পৃষ্ঠা না থাকে তবে একটি ত্রুটি সেট করা আছে।
পরামিতি
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(backgroundPage?: Window) => void
- ব্যাকগ্রাউন্ডপেজ
উইন্ডো al চ্ছিক
পটভূমি পৃষ্ঠার জন্য জাভাস্ক্রিপ্ট 'উইন্ডো' অবজেক্ট।
রিটার্নস
প্রতিশ্রুতি <উইন্ডো | অপরিবর্তিত>
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
getContexts()
chrome.runtime.getContexts(
filter: ContextFilter,
callback?: function,
)
এই এক্সটেনশনের সাথে সম্পর্কিত সক্রিয় প্রসঙ্গ সম্পর্কে তথ্য আনতে
পরামিতি
- ফিল্টার
ম্যাচিং প্রসঙ্গগুলি খুঁজে পেতে একটি ফিল্টার। একটি প্রসঙ্গের সাথে মেলে যদি এটি ফিল্টারে সমস্ত নির্দিষ্ট ক্ষেত্রের সাথে মেলে। ফিল্টারে যে কোনও অনির্ধারিত ক্ষেত্র সমস্ত প্রসঙ্গের সাথে মেলে।
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(contexts: ExtensionContext[]) => void
- প্রসঙ্গ
ম্যাচিং প্রসঙ্গ, যদি থাকে।
রিটার্নস
প্রতিশ্রুতি < এক্সটেনশন কনটেক্সট []>
প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
getManifest()
chrome.runtime.getManifest()
ম্যানিফেস্ট থেকে অ্যাপ্লিকেশন বা এক্সটেনশন সম্পর্কে বিশদ বিবরণ দেয়। ফিরে আসা অবজেক্টটি সম্পূর্ণ ম্যানিফেস্ট ফাইলের সিরিয়ালাইজেশন।
রিটার্নস
বস্তু
প্রকাশ্য বিশদ।
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
)
প্যাকেজ ডিরেক্টরিটির জন্য একটি ডিরেক্টরিএন্ট্রি ফেরত দেয়।
পরামিতি
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(directoryEntry: DirectoryEntry) => void
- ডিরেক্টরিআন্ট্রি
ডিরেক্টরিআন্ট্রি
রিটার্নস
প্রতিশ্রুতি <ডিরেক্টরেন্ট্রি>
Chrome 122+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
)
বর্তমান প্ল্যাটফর্ম সম্পর্কে তথ্য ফেরত দেয়।
পরামিতি
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(platformInfo: PlatformInfo) => void
- প্ল্যাটফর্ম ইনফো
রিটার্নস
প্রতিশ্রুতি < প্ল্যাটফর্ম ইনফো >
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
getURL()
chrome.runtime.getURL(
path: string,
)
একটি অ্যাপ্লিকেশন/এক্সটেনশন ইনস্টল ডিরেক্টরিটির মধ্যে একটি সম্পূর্ণরূপে যোগ্যতাসম্পন্ন ইউআরএল-তে একটি আপেক্ষিক পথ রূপান্তর করে।
পরামিতি
- পথ
স্ট্রিং
কোনও অ্যাপ্লিকেশন/এক্সটেনশনের মধ্যে কোনও সংস্থান করার পথটি তার ইনস্টল ডিরেক্টরিটির সাথে সম্পর্কিত।
রিটার্নস
স্ট্রিং
সংস্থানটিতে সম্পূর্ণ-যোগ্যতাসম্পন্ন ইউআরএল।
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
)
সম্ভব হলে আপনার এক্সটেনশনের বিকল্প পৃষ্ঠা খুলুন।
সুনির্দিষ্ট আচরণটি আপনার ম্যানিফেস্টের options_ui
বা options_page
কী, বা ক্রোম সেই সময়ে সমর্থন করার জন্য কী ঘটে তার উপর নির্ভর করে। উদাহরণস্বরূপ, পৃষ্ঠাটি কোনও অ্যাপের মধ্যে ক্রোম: // এক্সটেনশনের মধ্যে একটি নতুন ট্যাবে খোলা যেতে পারে, বা এটি কেবল একটি খোলা বিকল্প পৃষ্ঠার ফোকাস করতে পারে। এটি কখনই কলার পৃষ্ঠাটি পুনরায় লোড করতে পারে না।
যদি আপনার এক্সটেনশনটি কোনও বিকল্প পৃষ্ঠা ঘোষণা না করে, বা ক্রোম অন্য কোনও কারণে একটি তৈরি করতে ব্যর্থ হয় তবে কলব্যাকটি lastError
সেট করবে।
পরামিতি
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
reload()
chrome.runtime.reload()
অ্যাপ্লিকেশন বা এক্সটেনশন পুনরায় লোড করে। এই পদ্ধতিটি কিওস্ক মোডে সমর্থিত নয়। কিওস্ক মোডের জন্য, Chrome.runtime.restart () পদ্ধতি ব্যবহার করুন।
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(
callback?: function,
)
এই অ্যাপ্লিকেশন/এক্সটেনশনের জন্য তাত্ক্ষণিক আপডেট চেক করার অনুরোধ করে।
গুরুত্বপূর্ণ : বেশিরভাগ এক্সটেনশান/অ্যাপ্লিকেশনগুলি এই পদ্ধতিটি ব্যবহার করা উচিত নয় , যেহেতু ক্রোম ইতিমধ্যে প্রতি কয়েক ঘন্টা স্বয়ংক্রিয় চেক করে এবং আপনি runtime.onUpdateAvailable
শুনতে পারেন up onupdeaveableable ইভেন্টটি অনুরোধআপডেটেকেককে কল করার প্রয়োজন ছাড়াই।
এই পদ্ধতিটি কেবলমাত্র খুব সীমিত পরিস্থিতিতে কল করার জন্য উপযুক্ত, যেমন যদি আপনার এক্সটেনশনটি কোনও ব্যাকএন্ড পরিষেবার সাথে কথা বলে এবং ব্যাকএন্ড পরিষেবাটি নির্ধারণ করেছে যে ক্লায়েন্ট এক্সটেনশন সংস্করণটি খুব পুরানো এবং আপনি কোনও ব্যবহারকারীকে অনুরোধ করতে চান আপডেট অনুরোধআপডেটেকেকের বেশিরভাগ অন্যান্য ব্যবহার যেমন পুনরাবৃত্তি টাইমারের উপর ভিত্তি করে এটিকে নিঃশর্ত কল করা, সম্ভবত কেবল ক্লায়েন্ট, নেটওয়ার্ক এবং সার্ভারের সংস্থানগুলি অপচয় করতে পরিবেশন করে।
দ্রষ্টব্য: যখন কলব্যাকের সাথে ডাকা হয়, কোনও অবজেক্ট ফেরতের পরিবর্তে এই ফাংশনটি দুটি সম্পত্তি ফিরিয়ে দেবে কারণ কলব্যাকের কাছে পৃথক আর্গুমেন্টগুলি পাস করা হয়।
পরামিতি
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(result: object) => void
- ফলাফল
বস্তু
Chrome 109+রিকোয়েস্টআপডেটচেক্রেসাল্ট অবজেক্ট যা আপডেট চেকের স্থিতি এবং ফলাফলের কোনও বিশদ যদি কোনও আপডেট উপলব্ধ থাকে
- অবস্থা
আপডেট চেক ফলাফল।
- সংস্করণ
স্ট্রিং ঐচ্ছিক
যদি কোনও আপডেট পাওয়া যায় তবে এতে উপলভ্য আপডেটের সংস্করণ রয়েছে।
রিটার্নস
প্রতিশ্রুতি <অবজেক্ট>
Chrome 109+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
restart()
chrome.runtime.restart()
অ্যাপ্লিকেশনটি কিওস্ক মোডে চলে তখন ক্রোমোস ডিভাইসটি পুনরায় চালু করুন। অন্যথায়, এটি কোনও-অপ।
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
)
প্রদত্ত সেকেন্ডের পরে অ্যাপ্লিকেশনটি কিওস্ক মোডে চলে যখন ক্রোমোস ডিভাইসটি পুনরায় চালু করুন। সময় শেষ হওয়ার আগে যদি আবার কল করা হয় তবে রিবুটটি বিলম্বিত হবে। যদি -1 এর মান দিয়ে ডাকা হয় তবে রিবুটটি বাতিল করা হবে। এটি নন-কিয়স্ক মোডে একটি নো-অপ। এই এপিআইকে অনুরোধ করার জন্য এটি কেবল প্রথম এক্সটেনশন দ্বারা বারবার কল করার অনুমতি দেওয়া হয়েছে।
পরামিতি
- সেকেন্ড
সংখ্যা
ডিভাইসটি রিবুট করার আগে কয়েক সেকেন্ডের মধ্যে অপেক্ষা করার সময়, বা নির্ধারিত রিবুট বাতিল করতে -1।
- কলব্যাক
ফাংশন al চ্ছিক
callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
)
আপনার এক্সটেনশন বা অন্য কোনও এক্সটেনশন/অ্যাপের মধ্যে ইভেন্ট শ্রোতাদের কাছে একটি একক বার্তা প্রেরণ করে। runtime.connect
মতো অনুরূপ তবে কেবল একটি একক বার্তা প্রেরণ করে, একটি al চ্ছিক প্রতিক্রিয়া সহ। যদি আপনার এক্সটেনশনে প্রেরণ করা হয় তবে runtime.onMessage
ইভেন্টটি আপনার এক্সটেনশনের প্রতিটি ফ্রেমে (প্রেরকের ফ্রেম ব্যতীত), বা runtime.onMessageExternal
, যদি অন্য কোনও এক্সটেনশন হয়। নোট করুন যে এক্সটেনশনগুলি এই পদ্ধতিটি ব্যবহার করে সামগ্রী স্ক্রিপ্টগুলিতে বার্তা প্রেরণ করতে পারে না। সামগ্রী স্ক্রিপ্টগুলিতে বার্তা প্রেরণ করতে, tabs.sendMessage
ব্যবহার করুন।
পরামিতি
- এক্সটেনশনআইডি
স্ট্রিং ঐচ্ছিক
বার্তাটি প্রেরণে এক্সটেনশনের আইডি। বাদ দেওয়া হলে, বার্তাটি আপনার নিজের এক্সটেনশন/অ্যাপে প্রেরণ করা হবে। ওয়েব মেসেজিংয়ের জন্য কোনও ওয়েব পৃষ্ঠা থেকে বার্তা প্রেরণ করা প্রয়োজন।
- বার্তা
যেকোনো
প্রেরণ বার্তা। এই বার্তাটি একটি JSON-ificable অবজেক্ট হওয়া উচিত।
- বিকল্প
অবজেক্ট al চ্ছিক
- অন্তর্ভুক্ত
বুলিয়ান al চ্ছিক
সংযোগ ইভেন্টটি শুনছে এমন প্রক্রিয়াগুলির জন্য টিএলএস চ্যানেল আইডিটি অনমেসেজ এক্সটার্নাল এ পাস করা হবে কিনা।
- কলব্যাক
ফাংশন al চ্ছিক
Chrome 99+callback
প্যারামিটারটি দেখে মনে হচ্ছে:(response: any) => void
- প্রতিক্রিয়া
যেকোনো
বার্তাটির হ্যান্ডলার দ্বারা প্রেরিত JSON প্রতিক্রিয়া অবজেক্ট। যদি এক্সটেনশনের সাথে সংযোগ স্থাপনের সময় কোনও ত্রুটি দেখা দেয় তবে কলব্যাকটি কোনও যুক্তি ছাড়াই ডাকা হবে এবং
runtime.lastError
ত্রুটি বার্তায় সেট করা হবে।
রিটার্নস
প্রতিশ্রুতি <কোন>
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
)
একটি স্থানীয় অ্যাপ্লিকেশন একটি একক বার্তা প্রেরণ। এই পদ্ধতির জন্য "nativeMessaging"
অনুমতি প্রয়োজন।
পরামিতি
- আবেদন
স্ট্রিং
নেটিভ মেসেজিং হোস্টের নাম।
- বার্তা
বস্তু
যে বার্তাটি নেটিভ মেসেজিং হোস্টকে দেওয়া হবে।
- কলব্যাক
ফাংশন al চ্ছিক
Chrome 99+callback
প্যারামিটারটি দেখে মনে হচ্ছে:(response: any) => void
- প্রতিক্রিয়া
যেকোনো
নেটিভ মেসেজিং হোস্ট দ্বারা প্রেরিত প্রতিক্রিয়া বার্তা। নেটিভ মেসেজিং হোস্টের সাথে সংযোগ করার সময় যদি কোনও ত্রুটি দেখা দেয় তবে কলব্যাকটি কোনও যুক্তি ছাড়াই ডাকা হবে এবং
runtime.lastError
ত্রুটি বার্তায় সেট করা হবে।
রিটার্নস
প্রতিশ্রুতি <কোন>
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
)
আনইনস্টলেশনের পরে দেখা করতে ইউআরএল সেট করে। এটি সার্ভার-সাইড ডেটা পরিষ্কার করতে, বিশ্লেষণ করতে এবং জরিপ বাস্তবায়নের জন্য ব্যবহৃত হতে পারে। সর্বোচ্চ 1023 অক্ষর।
পরামিতি
- url
স্ট্রিং
এক্সটেনশনটি আনইনস্টল করার পরে ইউআরএল খুলতে হবে। এই ইউআরএল অবশ্যই একটি http: বা https: স্কিম থাকতে হবে। আনইনস্টলেশনের পরে কোনও নতুন ট্যাব না খুলতে একটি খালি স্ট্রিং সেট করুন।
- কলব্যাক
ফাংশন al চ্ছিক
Chrome 45+callback
প্যারামিটারটি দেখে মনে হচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 99+প্রতিশ্রুতিগুলি ম্যানিফেস্ট ভি 3 এবং পরে সমর্থিত, তবে কলব্যাকগুলি পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়। আপনি একই ফাংশন কল উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকের কাছে চলে যায়।
ঘটনা
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
runtime.onRestartRequired
ব্যবহার করুন on
ক্রোম আপডেট পাওয়া গেলে ফায়ার করা হয়, তবে ব্রাউজার পুনরায় আরম্ভের প্রয়োজন হওয়ায় অবিলম্বে ইনস্টল করা হয় না।
পরামিতি
- কলব্যাক
ফাংশন
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"
অনুমতি প্রয়োজন। এটি কেবল ক্রোম ওএসে সমর্থিত।
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
যখন এক্সটেনশনটি প্রথম ইনস্টল করা হয়, যখন এক্সটেনশনটি একটি নতুন সংস্করণে আপডেট করা হয় এবং যখন ক্রোম একটি নতুন সংস্করণে আপডেট করা হয় তখন ফায়ার করা হয়।
পরামিতি
- কলব্যাক
ফাংশন
callback
প্যারামিটারটি দেখে মনে হচ্ছে:(details: object) => void
- বিস্তারিত
বস্তু
- আইডি
স্ট্রিং ঐচ্ছিক
আমদানিকৃত ভাগ করা মডিউল এক্সটেনশনের আইডি নির্দেশ করে যা আপডেট হয়েছে। এটি কেবল তখনই উপস্থিত থাকে যদি 'কারণ' হয় 'ভাগ করা_মোডুল_আপডেট' হয়।
- পূর্ববর্তী পরিবর্তন
স্ট্রিং ঐচ্ছিক
এক্সটেনশনের পূর্ববর্তী সংস্করণটি নির্দেশ করে, যা সবেমাত্র আপডেট হয়েছে। এটি কেবল তখনই উপস্থিত থাকে যখন 'কারণ' 'আপডেট' হয়।
- কারণ
এই ইভেন্টটি প্রেরণ করা হচ্ছে।
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 ঘন্টা গ্রেস পিরিয়ড কেটে যাওয়ার পরে পুনরায় আরম্ভ করা হবে। বর্তমানে, এই ইভেন্টটি কেবল ক্রোম ওএস কিওস্ক অ্যাপ্লিকেশনগুলির জন্য বরখাস্ত করা হয়েছে।
পরামিতি
- কলব্যাক
ফাংশন
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 () এই ইভেন্টের প্রতিক্রিয়া হিসাবে ডাকা হয়।
পরামিতি
- কলব্যাক
ফাংশন
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
- রিটার্ন
বুলিয়ান | অনির্ধারিত