chrome.scripting

বর্ণনা

বিভিন্ন প্রসঙ্গে স্ক্রিপ্ট চালানোর জন্য chrome.scripting API ব্যবহার করুন।

অনুমতি

scripting

উপস্থিতি

Chrome 88+ MV3+

উদ্ভাসিত

chrome.scripting API ব্যবহার করতে, ম্যানিফেস্টে "scripting" অনুমতি এবং পৃষ্ঠাগুলির মধ্যে স্ক্রিপ্টগুলি ইনজেক্ট করার জন্য হোস্টের অনুমতিগুলি ঘোষণা করুন৷ "host_permissions" কী বা "activeTab" অনুমতি ব্যবহার করুন, যা অস্থায়ী হোস্টের অনুমতি দেয়। নিম্নলিখিত উদাহরণ সক্রিয় ট্যাব অনুমতি ব্যবহার করে।

{
  "name": "Scripting Extension",
  "manifest_version": 3,
  "permissions": ["scripting", "activeTab"],
  ...
}

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

আপনি ওয়েবসাইটগুলিতে JavaScript এবং 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() দিয়ে JavaScript ইনজেকশন করার সময়, আপনি ফাইলের পরিবর্তে এক্সিকিউট করার জন্য একটি ফাংশন নির্দিষ্ট করতে পারেন। এই ফাংশনটি বর্তমান এক্সটেনশন প্রসঙ্গে উপলব্ধ একটি ফাংশন পরিবর্তনশীল হওয়া উচিত।

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(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

Chrome 96+

বৈশিষ্ট্য

  • আইডি

    স্ট্রিং[] ঐচ্ছিক

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

CSSInjection

বৈশিষ্ট্য

  • css

    স্ট্রিং ঐচ্ছিক

    ইনজেক্ট করার জন্য CSS ধারণকারী একটি স্ট্রিং। ঠিক যেকোন একটি files এবং css নির্দিষ্ট করতে হবে।

  • নথি পত্র

    স্ট্রিং[] ঐচ্ছিক

    এক্সটেনশনের রুট ডিরেক্টরির সাপেক্ষে ইনজেক্ট করার জন্য CSS ফাইলের পথ। ঠিক যেকোন একটি files এবং css নির্দিষ্ট করতে হবে।

  • মূল

    StyleOrigin ঐচ্ছিক

    ইনজেকশন জন্য শৈলী মূল. 'AUTHOR' এ ডিফল্ট।

  • টার্গেট উল্লেখ করে বিশদ বিবরণ যার মধ্যে CSS ঢোকাতে হবে।

ExecutionWorld

Chrome 95+

একটি স্ক্রিপ্টের মধ্যে চালানোর জন্য জাভাস্ক্রিপ্ট বিশ্ব।

এনাম

"ভিন্ন"
বিচ্ছিন্ন বিশ্বকে নির্দিষ্ট করে, যা এই এক্সটেনশনের জন্য অনন্য কার্যকরী পরিবেশ।

"প্রধান"
DOM-এর প্রধান জগত নির্দিষ্ট করে, যা হোস্ট পৃষ্ঠার জাভাস্ক্রিপ্টের সাথে শেয়ার করা এক্সিকিউশন এনভায়রনমেন্ট।

InjectionResult

বৈশিষ্ট্য

  • ডকুমেন্ট আইডি

    স্ট্রিং

    Chrome 106+

    ইনজেকশনের সাথে যুক্ত নথি।

  • ফ্রেমআইডি

    সংখ্যা

    Chrome 90+

    ইনজেকশনের সাথে যুক্ত ফ্রেম।

  • ফলাফল

    যে কোন ঐচ্ছিক

    স্ক্রিপ্ট সম্পাদনের ফলাফল।

InjectionTarget

বৈশিষ্ট্য

  • সব ফ্রেম

    বুলিয়ান ঐচ্ছিক

    ট্যাবের মধ্যে সমস্ত ফ্রেমে স্ক্রিপ্ট ইনজেক্ট করা উচিত কিনা। ডিফল্ট থেকে মিথ্যা. frameIds নির্দিষ্ট করা থাকলে এটি অবশ্যই সত্য হবে না।

  • ডকুমেন্ট আইডি

    স্ট্রিং[] ঐচ্ছিক

    Chrome 106+

    নির্দিষ্ট ডকুমেন্ট আইডিগুলির আইডিগুলি যাতে ইনজেক্ট করতে হয়৷ frameIds সেট করা থাকলে এটি অবশ্যই সেট করা উচিত নয়।

  • ফ্রেমআইডি

    সংখ্যা[] ঐচ্ছিক

    নির্দিষ্ট ফ্রেমের আইডিগুলি যাতে ইনজেক্ট করতে হয়৷

  • ট্যাবআইডি

    সংখ্যা

    যে ট্যাবে ইনজেকশন দিতে হবে তার আইডি।

RegisteredContentScript

Chrome 96+

বৈশিষ্ট্য

  • সব ফ্রেম

    বুলিয়ান ঐচ্ছিক

    সঠিকভাবে নির্দিষ্ট করা হলে, এটি সমস্ত ফ্রেমে ইনজেক্ট করবে, এমনকি যদি ফ্রেমটি ট্যাবের সর্বোচ্চ ফ্রেম না হয়। প্রতিটি ফ্রেম ইউআরএল প্রয়োজনীয়তার জন্য স্বাধীনভাবে চেক করা হয়; ইউআরএল প্রয়োজনীয়তা পূরণ না হলে এটি চাইল্ড ফ্রেমে প্রবেশ করাবে না। ডিফল্ট থেকে মিথ্যা, মানে শুধুমাত্র উপরের ফ্রেমটি মিলেছে।

  • css

    স্ট্রিং[] ঐচ্ছিক

    মিলিত পৃষ্ঠাগুলিতে ইনজেক্ট করা CSS ফাইলগুলির তালিকা৷ পৃষ্ঠার জন্য যেকোন DOM তৈরি বা প্রদর্শিত হওয়ার আগে এই অ্যারেতে যে ক্রমানুসারে তারা প্রদর্শিত হবে সেগুলিকে ইনজেকশন দেওয়া হয়।

  • ম্যাচ বাদ দিন

    স্ট্রিং[] ঐচ্ছিক

    এই বিষয়বস্তু স্ক্রিপ্ট অন্যথায় ইনজেকশনের হবে যে পৃষ্ঠাগুলি বাদ দেয়. এই স্ট্রিংগুলির সিনট্যাক্স সম্পর্কে আরও বিস্তারিত জানার জন্য ম্যাচ প্যাটার্নস দেখুন।

  • আইডি

    স্ট্রিং

    কন্টেন্ট স্ক্রিপ্টের আইডি, API কলে নির্দিষ্ট করা আছে। '_' দিয়ে শুরু করা উচিত নয় কারণ এটি তৈরি করা স্ক্রিপ্ট আইডিগুলির জন্য একটি উপসর্গ হিসাবে সংরক্ষিত।

  • জেএস

    স্ট্রিং[] ঐচ্ছিক

    জাভাস্ক্রিপ্ট ফাইলগুলির তালিকা যা মিলিত পৃষ্ঠাগুলিতে প্রবেশ করানো হবে৷ তারা এই অ্যারে প্রদর্শিত ক্রমে ইনজেকশনের হয়.

  • matchOriginAsFallback

    বুলিয়ান ঐচ্ছিক

    Chrome 119+

    ইউআরএলে একটি অসমর্থিত স্কিম রয়েছে এমন ফ্রেমে স্ক্রিপ্টটি ইনজেকশন করা যেতে পারে কিনা তা নির্দেশ করে; বিশেষভাবে: সম্পর্কে:, ডেটা:, ব্লব:, বা ফাইল সিস্টেম:। এই ক্ষেত্রে, স্ক্রিপ্টটি ইনজেকশন করা উচিত কিনা তা নির্ধারণ করতে URL এর উত্স পরীক্ষা করা হয়। যদি মূলটি null হয় (যেমনটি ডেটা: URL গুলির ক্ষেত্রে হয়) তাহলে ব্যবহৃত মূলটি হয় সেই ফ্রেম যা বর্তমান ফ্রেম তৈরি করেছে বা যে ফ্রেমটি এই ফ্রেমে নেভিগেশন শুরু করেছে৷ মনে রাখবেন এটি মূল ফ্রেম নাও হতে পারে।

  • মেলে

    স্ট্রিং[] ঐচ্ছিক

    এই বিষয়বস্তুর স্ক্রিপ্টটি কোন পৃষ্ঠাগুলিতে প্রবেশ করানো হবে তা নির্দিষ্ট করে৷ এই স্ট্রিংগুলির সিনট্যাক্স সম্পর্কে আরও বিস্তারিত জানার জন্য ম্যাচ প্যাটার্নস দেখুন। registerContentScripts জন্য নির্দিষ্ট করা আবশ্যক.

  • অধ্যায় জুড়ে থাকা

    বুলিয়ান ঐচ্ছিক

    এই বিষয়বস্তুর স্ক্রিপ্ট ভবিষ্যতের সেশনে টিকে থাকবে কিনা তা নির্দিষ্ট করে। ডিফল্ট সত্য।

  • চালানো

    RunAt ঐচ্ছিক

    জাভাস্ক্রিপ্ট ফাইলগুলি কখন ওয়েব পৃষ্ঠাতে প্রবেশ করানো হয় তা নির্দিষ্ট করে৷ পছন্দের এবং ডিফল্ট মান হল document_idle

  • বিশ্ব

    ExecutionWorld ঐচ্ছিক

    Chrome 102+

    স্ক্রিপ্ট চালানোর জন্য জাভাস্ক্রিপ্ট "ওয়ার্ল্ড"। ডিফল্ট ISOLATED

ScriptInjection

বৈশিষ্ট্য

  • args

    যেকোনো[] ঐচ্ছিক

    Chrome 92+

    প্রদত্ত ফাংশনে পাস করার আর্গুমেন্ট। এটি শুধুমাত্র বৈধ যদি func প্যারামিটার নির্দিষ্ট করা হয়। এই আর্গুমেন্ট অবশ্যই JSON-ক্রমিক হতে হবে।

  • নথি পত্র

    স্ট্রিং[] ঐচ্ছিক

    JS বা CSS ফাইলের পাথ ইনজেক্ট করার জন্য, এক্সটেনশনের রুট ডিরেক্টরির সাথে সম্পর্কিত। ঠিক একটি files বা func নির্দিষ্ট করা আবশ্যক।

  • অবিলম্বে ইনজেকশন

    বুলিয়ান ঐচ্ছিক

    Chrome 102+

    ইনজেকশন যত তাড়াতাড়ি সম্ভব লক্ষ্যে ট্রিগার করা উচিত কিনা। মনে রাখবেন যে এটি একটি গ্যারান্টি নয় যে পৃষ্ঠা লোডের আগে ইনজেকশন ঘটবে, কারণ স্ক্রিপ্টটি লক্ষ্যে পৌঁছানোর সময় পৃষ্ঠাটি ইতিমধ্যে লোড হয়ে থাকতে পারে।

  • স্ক্রিপ্টটি ইনজেকশনের লক্ষ্যমাত্রা নির্দিষ্ট করে বিশদ বিবরণ।

  • বিশ্ব

    ExecutionWorld ঐচ্ছিক

    Chrome 95+

    স্ক্রিপ্ট চালানোর জন্য জাভাস্ক্রিপ্ট "ওয়ার্ল্ড"। ডিফল্ট ISOLATED

  • ফাংশন

    অকার্যকর ঐচ্ছিক

    Chrome 92+

    ইনজেক্ট করার জন্য একটি জাভাস্ক্রিপ্ট ফাংশন। এই ফাংশন ক্রমিক করা হবে, এবং তারপর ইনজেকশন জন্য deserialized করা হবে. এর মানে হল যে কোনও আবদ্ধ পরামিতি এবং কার্যকর করার প্রসঙ্গ হারিয়ে যাবে। ঠিক একটি files বা func নির্দিষ্ট করা আবশ্যক।

    func ফাংশনটি এর মত দেখাচ্ছে:

    ()=> {...}

StyleOrigin

একটি শৈলী পরিবর্তনের জন্য উত্স. আরো তথ্যের জন্য শৈলী উত্স দেখুন.

এনাম

"লেখক"

"ব্যবহারকারী"

পদ্ধতি

executeScript()

প্রতিশ্রুতি
chrome.scripting.executeScript(
  injection: ScriptInjection,
  callback?: function,
)

একটি টার্গেট প্রসঙ্গে একটি স্ক্রিপ্ট ইনজেক্ট করে। ডিফল্টরূপে, স্ক্রিপ্টটি document_idle এ চালানো হবে, অথবা যদি পৃষ্ঠাটি ইতিমধ্যেই লোড হয়ে থাকে। injectImmediately প্রপার্টি সেট করা থাকলে, পৃষ্ঠাটি লোড করা শেষ না হলেও স্ক্রিপ্টটি অপেক্ষা না করেই ইনজেক্ট করবে। যদি স্ক্রিপ্ট একটি প্রতিশ্রুতি মূল্যায়ন করে, ব্রাউজার প্রতিশ্রুতি নিষ্পত্তির জন্য অপেক্ষা করবে এবং ফলস্বরূপ মান ফেরত দেবে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি< ইনজেকশনের ফলাফল []>

    Chrome 90+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

getRegisteredContentScripts()

প্রতিশ্রুতি Chrome 96+
chrome.scripting.getRegisteredContentScripts(
  filter?: ContentScriptFilter,
  callback?: function,
)

প্রদত্ত ফিল্টারের সাথে মেলে এই এক্সটেনশনের জন্য সমস্ত গতিশীলভাবে নিবন্ধিত সামগ্রী স্ক্রিপ্ট ফেরত দেয়৷

পরামিতি

রিটার্নস

  • প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

insertCSS()

প্রতিশ্রুতি
chrome.scripting.insertCSS(
  injection: CSSInjection,
  callback?: function,
)

একটি লক্ষ্য প্রসঙ্গে একটি CSS স্টাইলশীট সন্নিবেশ করান। একাধিক ফ্রেম নির্দিষ্ট করা থাকলে, অসফল ইনজেকশন উপেক্ষা করা হয়।

পরামিতি

  • ঢোকাতে শৈলী বিবরণ.

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 90+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

registerContentScripts()

প্রতিশ্রুতি Chrome 96+
chrome.scripting.registerContentScripts(
  scripts: RegisteredContentScript[],
  callback?: function,
)

এই এক্সটেনশনের জন্য এক বা একাধিক বিষয়বস্তু স্ক্রিপ্ট নিবন্ধন করে।

পরামিতি

  • নিবন্ধিত করার জন্য স্ক্রিপ্টগুলির একটি তালিকা রয়েছে৷ যদি স্ক্রিপ্ট পার্সিং/ফাইল যাচাইকরণের সময় ত্রুটি থাকে, অথবা যদি নির্দিষ্ট করা আইডিগুলি ইতিমধ্যেই বিদ্যমান থাকে, তাহলে কোনো স্ক্রিপ্ট নিবন্ধিত হয় না।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

removeCSS()

প্রতিশ্রুতি Chrome 90+
chrome.scripting.removeCSS(
  injection: CSSInjection,
  callback?: function,
)

একটি টার্গেট প্রসঙ্গ থেকে এই এক্সটেনশন দ্বারা পূর্বে ঢোকানো একটি CSS স্টাইলশীট সরিয়ে দেয়।

পরামিতি

  • শৈলী অপসারণ বিবরণ. মনে রাখবেন যে css , files এবং origin বৈশিষ্ট্যগুলি অবশ্যই insertCSS এর মাধ্যমে ঢোকানো স্টাইলশীটের সাথে মিলবে। একটি অস্তিত্বহীন স্টাইলশীট মুছে ফেলার প্রচেষ্টা একটি নো-অপ।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

unregisterContentScripts()

প্রতিশ্রুতি Chrome 96+
chrome.scripting.unregisterContentScripts(
  filter?: ContentScriptFilter,
  callback?: function,
)

এই এক্সটেনশনের জন্য বিষয়বস্তু স্ক্রিপ্টগুলি নিবন্ধনমুক্ত করে৷

পরামিতি

  • ছাঁকনি

    ContentScriptFilter ঐচ্ছিক

    যদি নির্দিষ্ট করা থাকে, শুধুমাত্র ফিল্টারের সাথে মেলে এমন গতিশীল কন্টেন্ট স্ক্রিপ্টগুলিকে আনরেজিস্টার করে। অন্যথায়, এক্সটেনশনের সমস্ত গতিশীল বিষয়বস্তু স্ক্রিপ্ট অনিবন্ধিত।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এরকম দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

updateContentScripts()

প্রতিশ্রুতি Chrome 96+
chrome.scripting.updateContentScripts(
  scripts: RegisteredContentScript[],
  callback?: function,
)

এই এক্সটেনশনের জন্য এক বা একাধিক বিষয়বস্তু স্ক্রিপ্ট আপডেট করে।

পরামিতি

  • আপডেট করার জন্য স্ক্রিপ্টগুলির একটি তালিকা রয়েছে৷ একটি সম্পত্তি শুধুমাত্র বিদ্যমান স্ক্রিপ্টের জন্য আপডেট করা হয় যদি এটি এই বস্তুতে নির্দিষ্ট করা থাকে। যদি স্ক্রিপ্ট পার্সিং/ফাইল যাচাইকরণের সময় ত্রুটি থাকে, অথবা যদি নির্দিষ্ট করা আইডিগুলি সম্পূর্ণ নিবন্ধিত স্ক্রিপ্টের সাথে সঙ্গতিপূর্ণ না হয়, তাহলে কোনো স্ক্রিপ্ট আপডেট করা হয় না।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।