বিবরণ
বিভিন্ন প্রসঙ্গে স্ক্রিপ্ট চালানোর জন্য chrome.scripting API ব্যবহার করুন।
অনুমতিসমূহ
scriptingউপস্থিতি
ম্যানিফেস্ট
chrome.scripting API ব্যবহার করার জন্য, ম্যানিফেস্টে "scripting" অনুমতি এবং পৃষ্ঠাগুলিতে স্ক্রিপ্ট ইনজেক্ট করার জন্য হোস্ট অনুমতি ঘোষণা করুন। "host_permissions" কী অথবা "activeTab" অনুমতি ব্যবহার করুন, যা অস্থায়ী হোস্ট অনুমতি দেয়। নিম্নলিখিত উদাহরণটি activeTab অনুমতি ব্যবহার করে।
{
"name": "Scripting Extension",
"manifest_version": 3,
"permissions": ["scripting", "activeTab"],
...
}
ধারণা এবং ব্যবহার
আপনি ওয়েবসাইটগুলিতে জাভাস্ক্রিপ্ট এবং CSS ইনজেক্ট করার জন্য chrome.scripting API ব্যবহার করতে পারেন। এটি কন্টেন্ট স্ক্রিপ্টের সাথে আপনি যা করতে পারেন তার অনুরূপ। কিন্তু chrome.scripting নেমস্পেস ব্যবহার করে, এক্সটেনশনগুলি রানটাইমে সিদ্ধান্ত নিতে পারে।
ইনজেকশন লক্ষ্যবস্তু
আপনি জাভাস্ক্রিপ্ট বা CSS ইনজেক্ট করার জন্য একটি টার্গেট নির্দিষ্ট করতে target প্যারামিটার ব্যবহার করতে পারেন।
শুধুমাত্র প্রয়োজনীয় ক্ষেত্র হল tabId । ডিফল্টরূপে, নির্দিষ্ট ট্যাবের প্রধান ফ্রেমে একটি ইনজেকশন চলবে।
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
files : [ "script.js" ],
})
.then(() => console.log("script injected"));
নির্দিষ্ট ট্যাবের সকল ফ্রেমে চালানোর জন্য, আপনি allFrames বুলিয়ানকে true তে সেট করতে পারেন।
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId(), allFrames : true},
files : [ "script.js" ],
})
.then(() => console.log("script injected in all frames"));
আপনি পৃথক ফ্রেম আইডি নির্দিষ্ট করে একটি ট্যাবের নির্দিষ্ট ফ্রেমে ইনজেক্ট করতে পারেন। ফ্রেম আইডি সম্পর্কে আরও তথ্যের জন্য, chrome.webNavigation API দেখুন।
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId(), frameIds : [ frameId1, frameId2 ]},
files : [ "script.js" ],
})
.then(() => console.log("script injected on target frames"));
ইনজেক্টেড কোড
এক্সটেনশনগুলি কোনও বাহ্যিক ফাইল বা রানটাইম ভেরিয়েবলের মাধ্যমে ইনজেক্ট করা কোডটি নির্দিষ্ট করতে পারে।
ফাইল
ফাইলগুলিকে স্ট্রিং হিসেবে নির্দিষ্ট করা হয় যা এক্সটেনশনের রুট ডিরেক্টরির সাথে সম্পর্কিত পাথ। নিম্নলিখিত কোডটি script.js ফাইলটিকে ট্যাবের প্রধান ফ্রেমে ইনজেক্ট করবে।
function getTabId() { ... }
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
files : [ "script.js" ],
})
.then(() => console.log("injected script file"));
রানটাইম ফাংশন
scripting.executeScript() দিয়ে জাভাস্ক্রিপ্ট ইনজেক্ট করার সময়, আপনি ফাইলের পরিবর্তে একটি ফাংশন এক্সিকিউট করার জন্য নির্দিষ্ট করতে পারেন। এই ফাংশনটি বর্তমান এক্সটেনশন প্রসঙ্গে উপলব্ধ একটি ফাংশন ভেরিয়েবল হওয়া উচিত।
function getTabId() { ... }
function getTitle() { return document.title; }
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
func : getTitle,
})
.then(() => console.log("injected a function"));
function getTabId() { ... }
function getUserColor() { ... }
function changeBackgroundColor() {
document.body.style.backgroundColor = getUserColor();
}
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
func : changeBackgroundColor,
})
.then(() => console.log("injected a function"));
আপনি args বৈশিষ্ট্য ব্যবহার করে এই সমস্যা সমাধান করতে পারেন:
function getTabId() { ... }
function getUserColor() { ... }
function changeBackgroundColor(backgroundColor) {
document.body.style.backgroundColor = backgroundColor;
}
chrome.scripting
.executeScript({
target : {tabId : getTabId()},
func : changeBackgroundColor,
args : [ getUserColor() ],
})
.then(() => console.log("injected a function"));
রানটাইম স্ট্রিং
যদি আপনি কোনও পৃষ্ঠার মধ্যে CSS ইনজেক্ট করেন, তাহলে আপনি css প্রোপার্টিতে ব্যবহার করার জন্য একটি স্ট্রিংও নির্দিষ্ট করতে পারেন। এই বিকল্পটি শুধুমাত্র scripting.insertCSS() এর জন্য উপলব্ধ; আপনি scripting.executeScript() ব্যবহার করে কোনও স্ট্রিং এক্সিকিউট করতে পারবেন না।
function getTabId() { ... }
const css = "body { background-color: red; }";
chrome.scripting
.insertCSS({
target : {tabId : getTabId()},
css : css,
})
.then(() => console.log("CSS injected"));
ফলাফল পরিচালনা করুন
জাভাস্ক্রিপ্ট কার্যকর করার ফলাফল এক্সটেনশনে পাঠানো হয়। প্রতি ফ্রেমে একটি করে ফলাফল অন্তর্ভুক্ত করা হয়। মূল ফ্রেমটি ফলাফলের অ্যারেতে প্রথম সূচক হওয়ার নিশ্চয়তা দেওয়া হয়; অন্যান্য সমস্ত ফ্রেম একটি অ-নির্ধারণী ক্রমে থাকে।
function getTabId() { ... }
function getTitle() { return document.title; }
chrome.scripting
.executeScript({
target : {tabId : getTabId(), allFrames : true},
func : getTitle,
})
.then(injectionResults => {
for (const {frameId, result} of injectionResults) {
console.log(`Frame ${frameId} result:`, result);
}
});
scripting.insertCSS() কোনও ফলাফল দেয় না।
প্রতিশ্রুতি
যদি স্ক্রিপ্ট এক্সিকিউশনের ফলে প্রাপ্ত মানটি একটি প্রতিশ্রুতি হয়, তাহলে Chrome প্রতিশ্রুতিটি স্থির হওয়ার জন্য অপেক্ষা করবে এবং ফলাফলটি ফেরত দেবে।
function getTabId() { ... }
async function addIframe() {
const iframe = document.createElement("iframe");
const loadComplete =
new Promise(resolve => iframe.addEventListener("load", resolve));
iframe.src = "https://example.com";
document.body.appendChild(iframe);
await loadComplete;
return iframe.contentWindow.document.title;
}
chrome.scripting
.executeScript({
target : {tabId : getTabId(), allFrames : true},
func : addIframe,
})
.then(injectionResults => {
for (const frameResult of injectionResults) {
const {frameId, result} = frameResult;
console.log(`Frame ${frameId} result:`, result);
}
});
উদাহরণ
সমস্ত ডায়নামিক কন্টেন্ট স্ক্রিপ্ট আনরেজিস্টার করুন
নিম্নলিখিত স্নিপেটে এমন একটি ফাংশন রয়েছে যা এক্সটেনশনের পূর্বে নিবন্ধিত সমস্ত গতিশীল সামগ্রী স্ক্রিপ্টগুলিকে নিবন্ধনমুক্ত করে।
async function unregisterAllDynamicContentScripts() {
try {
const scripts = await chrome.scripting.getRegisteredContentScripts();
const scriptIds = scripts.map(script => script.id);
return chrome.scripting.unregisterContentScripts({ ids: scriptIds });
} catch (error) {
const message = [
"An unexpected error occurred while",
"unregistering dynamic content scripts.",
].join(" ");
throw new Error(message, {cause : error});
}
}
chrome.scripting API ব্যবহার করে দেখতে, Chrome এক্সটেনশন স্যাম্পল রিপোজিটরি থেকে স্ক্রিপ্টিং স্যাম্পল ইনস্টল করুন।
প্রকারভেদ
ContentScriptFilter
বৈশিষ্ট্য
- আইডি
স্ট্রিং[] ঐচ্ছিক
যদি নির্দিষ্ট করা থাকে, তাহলে
getRegisteredContentScriptsশুধুমাত্র এই তালিকায় নির্দিষ্ট আইডি সহ স্ক্রিপ্টগুলি ফেরত দেবে।
CSSInjection
বৈশিষ্ট্য
- সিএসএস
স্ট্রিং ঐচ্ছিক
একটি স্ট্রিং যাতে CSS লেখা আছে।
filesএবংcssএর মধ্যে একটি অবশ্যই নির্দিষ্ট করতে হবে। - ফাইল
স্ট্রিং[] ঐচ্ছিক
এক্সটেনশনের রুট ডিরেক্টরির সাপেক্ষে, যে CSS ফাইলগুলি ইনজেক্ট করা হবে তার পাথ।
filesএবংcssএর মধ্যে একটি অবশ্যই নির্দিষ্ট করতে হবে। - উৎপত্তি
স্টাইলঅরিজিন ঐচ্ছিক
ইনজেকশনের জন্য স্টাইলের উৎপত্তি। ডিফল্টভাবে
'AUTHOR'ব্যবহার করা হয়। - লক্ষ্য
কোন লক্ষ্যে CSS সন্নিবেশ করাতে হবে তা নির্দিষ্ট করে বিশদ বিবরণ।
ExecutionWorld
একটি স্ক্রিপ্ট কার্যকর করার জন্য জাভাস্ক্রিপ্টের জগৎ।
এনাম
"বিচ্ছিন্ন" "প্রধান"
বিচ্ছিন্ন জগৎ নির্দিষ্ট করে, যা এই এক্সটেনশনের জন্য অনন্য এক্সিকিউশন পরিবেশ।
DOM-এর মূল জগৎ নির্দিষ্ট করে, যা হোস্ট পৃষ্ঠার জাভাস্ক্রিপ্টের সাথে ভাগ করা এক্সিকিউশন পরিবেশ।
InjectionResult
বৈশিষ্ট্য
- ডকুমেন্ট আইডি
স্ট্রিং
ক্রোম ১০৬+ইনজেকশনের সাথে সম্পর্কিত নথি।
- ফ্রেম আইডি
সংখ্যা
ক্রোম ৯০+ইনজেকশনের সাথে যুক্ত ফ্রেম।
- ফলাফল
যেকোনো ঐচ্ছিক
স্ক্রিপ্ট কার্যকর করার ফলাফল।
InjectionTarget
বৈশিষ্ট্য
- সমস্ত ফ্রেম
বুলিয়ান ঐচ্ছিক
স্ক্রিপ্টটি ট্যাবের মধ্যে সমস্ত ফ্রেমে প্রবেশ করানো উচিত কিনা। ডিফল্টভাবে মিথ্যা। যদি
frameIdsনির্দিষ্ট করা থাকে তবে এটি সত্য হওয়া উচিত নয়। - ডকুমেন্ট আইডি
স্ট্রিং[] ঐচ্ছিক
ক্রোম ১০৬+নির্দিষ্ট ডকুমেন্টআইডিগুলির আইডিগুলি যেগুলিতে প্রবেশ করাতে হবে।
frameIdsসেট করা থাকলে এটি সেট করা উচিত নয়। - ফ্রেম আইডি
সংখ্যা[] ঐচ্ছিক
নির্দিষ্ট ফ্রেমের আইডিগুলি যেগুলিতে প্রবেশ করানো হবে।
- ট্যাবআইডি
সংখ্যা
যে ট্যাবে ইনজেক্ট করতে হবে তার আইডি।
RegisteredContentScript
বৈশিষ্ট্য
- সমস্ত ফ্রেম
বুলিয়ান ঐচ্ছিক
যদি "সত্য" উল্লেখ করা হয়, তাহলে এটি সমস্ত ফ্রেমে প্রবেশ করবে, এমনকি যদি ফ্রেমটি ট্যাবের সবচেয়ে উপরের ফ্রেম নাও হয়। প্রতিটি ফ্রেম URL প্রয়োজনীয়তার জন্য স্বাধীনভাবে পরীক্ষা করা হয়; যদি URL প্রয়োজনীয়তা পূরণ না হয় তবে এটি চাইল্ড ফ্রেমে প্রবেশ করবে না। ডিফল্টভাবে "ফলস" হিসেবে সেট করা হয়, যার অর্থ হল শুধুমাত্র উপরের ফ্রেমটি মিলিত হয়।
- সিএসএস
স্ট্রিং[] ঐচ্ছিক
মিলিত পৃষ্ঠাগুলিতে ইনজেক্ট করার জন্য CSS ফাইলগুলির তালিকা। পৃষ্ঠার জন্য কোনও DOM তৈরি বা প্রদর্শিত হওয়ার আগে, এই অ্যারেতে প্রদর্শিত ক্রম অনুসারে এগুলি ইনজেক্ট করা হয়।
- ম্যাচ বাদ দিন
স্ট্রিং[] ঐচ্ছিক
এই কন্টেন্ট স্ক্রিপ্টটি অন্যথায় যেসব পৃষ্ঠায় প্রবেশ করানো হত সেগুলি বাদ দেয়। এই স্ট্রিংগুলির সিনট্যাক্স সম্পর্কে আরও বিস্তারিত জানার জন্য ম্যাচ প্যাটার্নগুলি দেখুন।
- আইডি
স্ট্রিং
API কলে নির্দিষ্ট করা কন্টেন্ট স্ক্রিপ্টের আইডি। '_' দিয়ে শুরু হওয়া উচিত নয় কারণ এটি জেনারেট করা স্ক্রিপ্ট আইডির জন্য একটি প্রিফিক্স হিসাবে সংরক্ষিত।
- জেএস
স্ট্রিং[] ঐচ্ছিক
মিলে যাওয়া পৃষ্ঠাগুলিতে ইনজেক্ট করার জন্য জাভাস্ক্রিপ্ট ফাইলের তালিকা। এই অ্যারেতে প্রদর্শিত ক্রম অনুসারে এগুলি ইনজেক্ট করা হয়েছে।
- অরিজিনঅ্যাসফ্যালব্যাক ম্যাচ করুন
বুলিয়ান ঐচ্ছিক
ক্রোম ১১৯+যেখানে URL-এ অসমর্থিত স্কিম রয়েছে, সেখানে স্ক্রিপ্টটি ফ্রেমে ইনজেক্ট করা যাবে কিনা তা নির্দেশ করে; বিশেষ করে: about:, data:, blob:, অথবা filesystem:। এই ক্ষেত্রে, স্ক্রিপ্টটি ইনজেক্ট করা উচিত কিনা তা নির্ধারণ করার জন্য URL-এর উৎপত্তি পরীক্ষা করা হয়। যদি উৎপত্তি
nullহয় (যেমন ডেটা: URL-এর ক্ষেত্রে হয়), তাহলে ব্যবহৃত উৎপত্তি হল সেই ফ্রেম যা বর্তমান ফ্রেম তৈরি করেছে অথবা সেই ফ্রেম যা এই ফ্রেমে নেভিগেশন শুরু করেছে। মনে রাখবেন এটি প্যারেন্ট ফ্রেম নাও হতে পারে। - ম্যাচ
স্ট্রিং[] ঐচ্ছিক
এই কন্টেন্ট স্ক্রিপ্টটি কোন পৃষ্ঠাগুলিতে ইনজেক্ট করা হবে তা নির্দিষ্ট করে। এই স্ট্রিংগুলির সিনট্যাক্স সম্পর্কে আরও বিস্তারিত জানার জন্য ম্যাচ প্যাটার্নগুলি দেখুন।
registerContentScriptsএর জন্য নির্দিষ্ট করা আবশ্যক। - সেশন জুড়ে অবিচল থাকুন
বুলিয়ান ঐচ্ছিক
এই কন্টেন্ট স্ক্রিপ্টটি ভবিষ্যতের সেশনগুলিতে টিকে থাকবে কিনা তা নির্দিষ্ট করে। ডিফল্ট হল সত্য।
- রানঅ্যাট
RunAt ঐচ্ছিক
জাভাস্ক্রিপ্ট ফাইলগুলি কখন ওয়েব পৃষ্ঠায় ইনজেক্ট করা হয় তা নির্দিষ্ট করে। পছন্দসই এবং ডিফল্ট মান হল
document_idle। - বিশ্ব
এক্সিকিউশনওয়ার্ল্ড ঐচ্ছিক
ক্রোম ১০২+স্ক্রিপ্ট চালানোর জন্য জাভাস্ক্রিপ্ট "ওয়ার্ল্ড"। ডিফল্টভাবে
ISOLATED।
ScriptInjection
বৈশিষ্ট্য
- যুক্তি
যেকোনো[] ঐচ্ছিক
ক্রোম ৯২+প্রদত্ত ফাংশনে যে আর্গুমেন্টগুলি পাস করতে হবে। এটি শুধুমাত্র তখনই বৈধ যদি
funcপ্যারামিটার নির্দিষ্ট করা থাকে। এই আর্গুমেন্টগুলি অবশ্যই JSON-serializable হতে হবে। - ফাইল
স্ট্রিং[] ঐচ্ছিক
এক্সটেনশনের রুট ডিরেক্টরির সাপেক্ষে, JS বা CSS ফাইলগুলির ইনজেক্ট করার পথ।
filesবাfuncএর মধ্যে একটি অবশ্যই নির্দিষ্ট করতে হবে। - অবিলম্বে ইনজেকশন দিন
বুলিয়ান ঐচ্ছিক
ক্রোম ১০২+যত তাড়াতাড়ি সম্ভব টার্গেটে ইনজেকশনটি ট্রিগার করা উচিত কিনা। মনে রাখবেন যে এটি কোনও গ্যারান্টি নয় যে পৃষ্ঠা লোড হওয়ার আগে ইনজেকশনটি ঘটবে, কারণ স্ক্রিপ্টটি লক্ষ্যে পৌঁছানোর আগেই পৃষ্ঠাটি ইতিমধ্যে লোড হয়ে থাকতে পারে।
- লক্ষ্য
স্ক্রিপ্টটি কোন লক্ষ্যে প্রবেশ করাতে হবে তা নির্দিষ্ট করে বিশদ বিবরণ।
- বিশ্ব
এক্সিকিউশনওয়ার্ল্ড ঐচ্ছিক
ক্রোম ৯৫+স্ক্রিপ্ট চালানোর জন্য জাভাস্ক্রিপ্ট "ওয়ার্ল্ড"। ডিফল্টভাবে
ISOLATED। - ফাংশন
ঐচ্ছিক বাতিল
ক্রোম ৯২+ইনজেক্ট করার জন্য একটি জাভাস্ক্রিপ্ট ফাংশন। এই ফাংশনটি সিরিয়ালাইজ করা হবে, এবং তারপর ইনজেক্ট করার জন্য ডিসিরিয়ালাইজ করা হবে। এর অর্থ হল যে কোনও আবদ্ধ প্যারামিটার এবং এক্সিকিউশন প্রসঙ্গ হারিয়ে যাবে।
filesবাfuncমধ্যে একটি নির্দিষ্ট করতে হবে।funcফাংশনটি দেখতে এরকম:() => {...}
StyleOrigin
স্টাইল পরিবর্তনের উৎপত্তি। আরও তথ্যের জন্য স্টাইলের উৎপত্তি দেখুন।
এনাম
"লেখক" "ব্যবহারকারী"
পদ্ধতি
executeScript()
chrome.scripting.executeScript(
injection: ScriptInjection,
): Promise<InjectionResult[]>
একটি স্ক্রিপ্টকে একটি টার্গেট কনটেক্সটে ইনজেক্ট করে। ডিফল্টরূপে, স্ক্রিপ্টটি document_idle এ চালানো হবে, অথবা যদি পৃষ্ঠাটি ইতিমধ্যেই লোড হয়ে থাকে তাহলে তাৎক্ষণিকভাবে। যদি injectImmediately প্রপার্টি সেট করা থাকে, তাহলে পৃষ্ঠাটি লোডিং শেষ না হলেও, স্ক্রিপ্টটি অপেক্ষা না করেই ইনজেক্ট করবে। যদি স্ক্রিপ্টটি একটি প্রতিশ্রুতির মূল্যায়ন করে, তাহলে ব্রাউজার প্রতিশ্রুতি স্থির হওয়ার জন্য অপেক্ষা করবে এবং ফলাফলের মান ফেরত দেবে।
পরামিতি
- ইনজেকশন
যে স্ক্রিপ্টটি ইনজেক্ট করতে হবে তার বিশদ বিবরণ।
রিটার্নস
প্রতিশ্রুতি< ইনজেকশন ফলাফল []>
ক্রোম ৯০+একটি প্রতিশ্রুতি প্রদান করে যা ইনজেকশন সম্পন্ন হওয়ার পরে সমাধান হয়। ফলস্বরূপ অ্যারেতে প্রতিটি ফ্রেমের জন্য কার্যকরকরণের ফলাফল থাকে যেখানে ইনজেকশন সফল হয়েছে।
getRegisteredContentScripts()
chrome.scripting.getRegisteredContentScripts(
filter?: ContentScriptFilter,
): Promise<RegisteredContentScript[]>
এই এক্সটেনশনের জন্য প্রদত্ত ফিল্টারের সাথে মেলে এমন সমস্ত গতিশীলভাবে নিবন্ধিত সামগ্রী স্ক্রিপ্ট ফেরত দেয়।
পরামিতি
- ফিল্টার
কন্টেন্টস্ক্রিপ্টফিল্টার ঐচ্ছিক
এক্সটেনশনের গতিশীলভাবে নিবন্ধিত স্ক্রিপ্টগুলি ফিল্টার করার জন্য একটি অবজেক্ট।
রিটার্নস
প্রতিশ্রুতি< নিবন্ধিত কন্টেন্টস্ক্রিপ্ট []>
insertCSS()
chrome.scripting.insertCSS(
injection: CSSInjection,
): Promise<void>
একটি লক্ষ্য প্রসঙ্গে একটি CSS স্টাইলশিট সন্নিবেশ করায়। যদি একাধিক ফ্রেম নির্দিষ্ট করা থাকে, তাহলে অসফল ইনজেকশন উপেক্ষা করা হয়।
পরামিতি
- ইনজেকশন
সন্নিবেশ করানোর জন্য শৈলীর বিবরণ।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
ক্রোম ৯০+একটি প্রতিশ্রুতি প্রদান করে যা সন্নিবেশ সম্পন্ন হওয়ার পরে সমাধান হয়ে যায়।
registerContentScripts()
chrome.scripting.registerContentScripts(
scripts: RegisteredContentScript[],
): Promise<void>
এই এক্সটেনশনের জন্য এক বা একাধিক কন্টেন্ট স্ক্রিপ্ট নিবন্ধন করে।
পরামিতি
- স্ক্রিপ্ট
নিবন্ধিত স্ক্রিপ্টগুলির একটি তালিকা রয়েছে। যদি স্ক্রিপ্ট পার্সিং/ফাইল যাচাইকরণের সময় ত্রুটি দেখা দেয়, অথবা যদি নির্দিষ্ট আইডিগুলি ইতিমধ্যেই বিদ্যমান থাকে, তাহলে কোনও স্ক্রিপ্ট নিবন্ধিত হয় না।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
একটি প্রতিশ্রুতি প্রদান করে যা স্ক্রিপ্ট সম্পূর্ণরূপে নিবন্ধিত হওয়ার পরে সমাধান হয় অথবা কোনও ত্রুটি দেখা দিলে প্রত্যাখ্যান করে।
removeCSS()
chrome.scripting.removeCSS(
injection: CSSInjection,
): Promise<void>
একটি টার্গেট প্রসঙ্গ থেকে এই এক্সটেনশন দ্বারা পূর্বে ঢোকানো একটি CSS স্টাইলশিট সরিয়ে দেয়।
পরামিতি
- ইনজেকশন
মুছে ফেলার জন্য স্টাইলের বিবরণ। মনে রাখবেন যে
css,filesএবংoriginপ্রোপার্টিগুলি অবশ্যইinsertCSSএর মাধ্যমে ঢোকানো স্টাইলশিটের সাথে হুবহু মিলবে। অস্তিত্বহীন স্টাইলশিট অপসারণের চেষ্টা করা একটি অপ্রয়োজনীয় কাজ।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
অপসারণ সম্পন্ন হওয়ার পরে সমাধান হওয়া প্রতিশ্রুতি প্রদান করে।
unregisterContentScripts()
chrome.scripting.unregisterContentScripts(
filter?: ContentScriptFilter,
): Promise<void>
এই এক্সটেনশনের জন্য কন্টেন্ট স্ক্রিপ্টগুলি নিবন্ধনমুক্ত করে।
পরামিতি
- ফিল্টার
কন্টেন্টস্ক্রিপ্টফিল্টার ঐচ্ছিক
যদি নির্দিষ্ট করা থাকে, তাহলে শুধুমাত্র ফিল্টারের সাথে মেলে এমন ডায়নামিক কন্টেন্ট স্ক্রিপ্টগুলিকেই আনরেজিস্টার করা হবে। অন্যথায়, এক্সটেনশনের সমস্ত ডায়নামিক কন্টেন্ট স্ক্রিপ্ট আনরেজিস্টার করা হবে।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
একটি প্রতিশ্রুতি প্রদান করে যা স্ক্রিপ্টগুলি নিবন্ধনমুক্ত করার পরে সমাধান হয় অথবা কোনও ত্রুটি দেখা দিলে প্রত্যাখ্যান করা হয়।
updateContentScripts()
chrome.scripting.updateContentScripts(
scripts: RegisteredContentScript[],
): Promise<void>
এই এক্সটেনশনের জন্য এক বা একাধিক কন্টেন্ট স্ক্রিপ্ট আপডেট করে।
পরামিতি
- স্ক্রিপ্ট
আপডেট করার জন্য স্ক্রিপ্টগুলির একটি তালিকা রয়েছে। একটি বৈশিষ্ট্য শুধুমাত্র বিদ্যমান স্ক্রিপ্টের জন্য আপডেট করা হয় যদি এটি এই অবজেক্টে নির্দিষ্ট করা থাকে। যদি স্ক্রিপ্ট পার্সিং/ফাইল যাচাইকরণের সময় ত্রুটি থাকে, অথবা যদি নির্দিষ্ট আইডিগুলি সম্পূর্ণরূপে নিবন্ধিত স্ক্রিপ্টের সাথে সঙ্গতিপূর্ণ না হয়, তাহলে কোনও স্ক্রিপ্ট আপডেট করা হয় না।
রিটার্নস
প্রতিশ্রুতি<অকার্যকর>
একটি প্রতিশ্রুতি প্রদান করে যা স্ক্রিপ্ট আপডেট হওয়ার পরে সমাধান হয় অথবা কোনও ত্রুটি দেখা দিলে প্রত্যাখ্যান করে।