chrome.userScripts

বর্ণনা

ব্যবহারকারী স্ক্রিপ্ট প্রসঙ্গে ব্যবহারকারীর স্ক্রিপ্ট চালানোর জন্য userScripts API ব্যবহার করুন।

অনুমতি

userScripts

User Scripts API, chrome.userScripts ব্যবহার করতে, আপনার manifest.json-এ "userScripts" অনুমতি যোগ করুন এবং আপনি যে সাইটগুলিতে স্ক্রিপ্ট চালাতে চান তার জন্য "host_permissions" যোগ করুন৷

{
  "name": "User script test extension",
  "manifest_version": 3,
  "minimum_chrome_version": "120",
  "permissions": [
    "userScripts"
  ],
  "host_permissions": [
    "*://example.com/*"
  ]
}

প্রাপ্যতা

Chrome 120+ MV3+

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

একটি ব্যবহারকারীর স্ক্রিপ্ট হল কোডের একটি স্নিপেট যা একটি ওয়েব পৃষ্ঠার চেহারা বা আচরণ পরিবর্তন করতে ইনজেক্ট করা হয়। অন্যান্য এক্সটেনশন বৈশিষ্ট্যের বিপরীতে, যেমন বিষয়বস্তু স্ক্রিপ্ট এবং chrome.scripting API , User Scripts API আপনাকে নির্বিচারে কোড চালাতে দেয়৷ এই APIটি এমন এক্সটেনশনগুলির জন্য প্রয়োজন যা ব্যবহারকারীর দ্বারা প্রদত্ত স্ক্রিপ্টগুলি চালায় যা আপনার এক্সটেনশন প্যাকেজের অংশ হিসাবে পাঠানো যাবে না৷

UserScripts API এর ব্যবহার সক্ষম করুন

আপনার এক্সটেনশনটি userScripts API ব্যবহার করার অনুমতি পাওয়ার পরে, ব্যবহারকারীদের অবশ্যই একটি নির্দিষ্ট টগল সক্ষম করতে হবে যাতে আপনার এক্সটেনশনটিকে API ব্যবহার করার অনুমতি দেওয়া যায়। নির্দিষ্ট টগলের প্রয়োজন, এবং অক্ষম করা হলে API-এর আচরণ Chrome সংস্করণ অনুসারে পরিবর্তিত হয়।

ব্যবহারকারীকে কোন টগল সক্ষম করতে হবে তা নির্ধারণ করতে নিম্নলিখিত চেকটি ব্যবহার করুন, উদাহরণস্বরূপ, নতুন ব্যবহারকারীর অনবোর্ডিংয়ের সময়:

let version = Number(navigator.userAgent.match(/(Chrome|Chromium)\/([0-9]+)/)?.[2]);
if (version >= 138) {
  // Allow User Scripts toggle will be used.
} else {
  // Developer mode toggle will be used.
}

নিম্নলিখিত বিভাগগুলি বিভিন্ন টগলগুলি বর্ণনা করে এবং কীভাবে সেগুলি সক্ষম করতে হয়।

138-এর আগের Chrome সংস্করণ (ডেভেলপার মোড টগল)

AA একজন এক্সটেনশন ডেভেলপার হিসেবে, আপনার Chrome এর ইনস্টলেশনে ইতিমধ্যেই ডেভেলপার মোড সক্ষম করা আছে। আপনার ব্যবহারকারীদের অবশ্যই বিকাশকারী মোড সক্ষম করতে হবে৷

আপনি আপনার ব্যবহারকারীদের জন্য আপনার এক্সটেনশনের ডকুমেন্টেশনে নিম্নলিখিত নির্দেশাবলী অনুলিপি এবং পেস্ট করতে পারেন৷

  1. একটি নতুন ট্যাবে chrome://extensions লিখে এক্সটেনশন পৃষ্ঠায় যান। (ডিজাইন দ্বারা chrome:// URLগুলি লিঙ্কযোগ্য নয়৷)
  2. বিকাশকারী মোডের পাশের টগল সুইচটিতে ক্লিক করে বিকাশকারী মোড সক্ষম করুন৷

    ডেভেলপার মোড টগল সহ Chrome এক্সটেনশন পৃষ্ঠা হাইলাইট করা হয়েছে৷

    এক্সটেনশন পৃষ্ঠা (chrome://extensions)

Chrome সংস্করণ 138 এবং নতুন (ব্যবহারকারী স্ক্রিপ্ট টগল করার অনুমতি দিন)

ব্যবহারকারীর স্ক্রিপ্টের মঞ্জুরি টগল প্রতিটি এক্সটেনশনের বিবরণ পৃষ্ঠায় থাকে (উদাহরণস্বরূপ, chrome://extensions/?id=YOUR_EXTENSION_ID)।

আপনি আপনার ব্যবহারকারীদের জন্য আপনার এক্সটেনশনের ডকুমেন্টেশনে নিম্নলিখিত নির্দেশাবলী অনুলিপি এবং পেস্ট করতে পারেন:

  1. একটি নতুন ট্যাবে chrome://extensions লিখে এক্সটেনশন পৃষ্ঠায় যান। (ডিজাইন দ্বারা chrome:// URLগুলি লিঙ্কযোগ্য নয়৷)
  2. এক্সটেনশন সম্পর্কে বিস্তারিত তথ্য দেখতে এক্সটেনশন কার্ডের "বিশদ বিবরণ" বোতামে ক্লিক করুন।
  3. ব্যবহারকারীর স্ক্রিপ্টগুলিকে অনুমতি দিন এর পাশের টগল সুইচটিতে ক্লিক করুন।
অ্যালো ইউজার স্ক্রিপ্ট এক্সটেনশনের বিবরণ পৃষ্ঠায় টগল করে
ব্যবহারকারীর স্ক্রিপ্ট টগল করার অনুমতি দিন (chrome://extensions/?id=abc...)

API প্রাপ্যতা জন্য পরীক্ষা করুন

UserScripts API সক্ষম করা আছে কিনা তা নির্ধারণ করতে আমরা নিম্নলিখিত চেক করার পরামর্শ দিই, কারণ এটি সমস্ত Chrome সংস্করণে কাজ করে৷ এই চেকটি একটি chrome.userScripts() পদ্ধতিতে কল করার চেষ্টা করে যা সর্বদা সফল হওয়া উচিত যখন API উপলব্ধ থাকে৷ যদি এই কলটি একটি ত্রুটি ছুঁড়ে দেয়, API উপলব্ধ নয়:

function isUserScriptsAvailable() {
  try {
    // Method call which throws if API permission or toggle is not enabled.
    chrome.userScripts.getScripts();
    return true;
  } catch {
    // Not available.
    return false;
  }
}

বিচ্ছিন্ন বিশ্বে কাজ করুন

ব্যবহারকারী এবং বিষয়বস্তু স্ক্রিপ্ট উভয়ই একটি বিচ্ছিন্ন বিশ্বে বা মূল বিশ্বে চলতে পারে। একটি বিচ্ছিন্ন বিশ্ব হল একটি কার্যকর পরিবেশ যা হোস্ট পৃষ্ঠা বা অন্যান্য এক্সটেনশনগুলিতে অ্যাক্সেসযোগ্য নয়৷ এটি একটি ব্যবহারকারী স্ক্রিপ্টকে হোস্ট পৃষ্ঠা বা অন্যান্য এক্সটেনশনের ব্যবহারকারী এবং বিষয়বস্তু স্ক্রিপ্টগুলিকে প্রভাবিত না করে তার জাভাস্ক্রিপ্ট পরিবেশ পরিবর্তন করতে দেয়৷ বিপরীতভাবে, ব্যবহারকারীর স্ক্রিপ্ট (এবং বিষয়বস্তু স্ক্রিপ্ট) হোস্ট পৃষ্ঠা বা অন্যান্য এক্সটেনশনের ব্যবহারকারী এবং বিষয়বস্তু স্ক্রিপ্টের কাছে দৃশ্যমান নয়। মূল বিশ্বে চলমান স্ক্রিপ্টগুলি হোস্ট পৃষ্ঠা এবং অন্যান্য এক্সটেনশনগুলিতে অ্যাক্সেসযোগ্য এবং হোস্ট পৃষ্ঠাগুলি এবং অন্যান্য এক্সটেনশনগুলিতে দৃশ্যমান৷ বিশ্ব নির্বাচন করতে, userScripts.register() কল করার সময় "USER_SCRIPT" বা "MAIN" পাস করুন।

USER_SCRIPT বিশ্বের জন্য একটি বিষয়বস্তু নিরাপত্তা নীতি কনফিগার করতে, userScripts.configureWorld() কল করুন :

chrome.userScripts.configureWorld({
  csp: "script-src 'self'"
});

মেসেজিং

বিষয়বস্তু স্ক্রিপ্ট এবং অফস্ক্রিন নথিগুলির মতো, ব্যবহারকারীর স্ক্রিপ্টগুলি মেসেজিং ব্যবহার করে একটি এক্সটেনশনের অন্যান্য অংশের সাথে যোগাযোগ করে (অর্থাৎ তারা runtime.sendMessage() এবং runtime.connect() একটি এক্সটেনশনের অন্য অংশ হিসাবে কল করতে পারে)। যাইহোক, তারা ডেডিকেটেড ইভেন্ট হ্যান্ডলার ব্যবহার করে প্রাপ্ত হয় (অর্থাৎ, তারা onMessage বা onConnect ব্যবহার করে না)। এই হ্যান্ডলারদের বলা হয় runtime.onUserScriptMessage এবং runtime.onUserScriptConnect । ডেডিকেটেড হ্যান্ডলারগুলি ব্যবহারকারীর স্ক্রিপ্ট থেকে বার্তাগুলি সনাক্ত করা সহজ করে তোলে, যা একটি কম বিশ্বস্ত প্রসঙ্গ।

একটি বার্তা পাঠানোর আগে, আপনাকে অবশ্যই configureWorld() কল করতে হবে messaging আর্গুমেন্ট true সেট করে। মনে রাখবেন যে csp এবং messaging উভয় আর্গুমেন্ট একই সময়ে পাস করা যেতে পারে।

chrome.userScripts.configureWorld({
  messaging: true
});

এক্সটেনশন আপডেট

যখন একটি এক্সটেনশন আপডেট হয় তখন ব্যবহারকারীর স্ক্রিপ্টগুলি সাফ করা হয়৷ আপনি এক্সটেনশন পরিষেবা কর্মীর runtime.onInstalled ইভেন্ট হ্যান্ডলারে কোড চালিয়ে সেগুলিকে আবার যোগ করতে পারেন৷ শুধুমাত্র ইভেন্ট কলব্যাকে পাস করা "update" কারণের উত্তর দিন।

উদাহরণ

এই উদাহরণটি আমাদের নমুনা সংগ্রহস্থলের ইউজারস্ক্রিপ্ট নমুনা থেকে।

একটি স্ক্রিপ্ট নিবন্ধন করুন

নিম্নলিখিত উদাহরণটি register() জন্য একটি মৌলিক কল দেখায়। প্রথম আর্গুমেন্ট হল অবজেক্টের একটি অ্যারে যা রেজিস্টার করা স্ক্রিপ্টগুলিকে সংজ্ঞায়িত করে। এখানে দেখানোর চেয়ে আরও বেশি বিকল্প রয়েছে।

chrome.userScripts.register([{
  id: 'test',
  matches: ['*://*/*'],
  js: [{code: 'alert("Hi!")'}]
}]);

প্রকারভেদ

ExecutionWorld

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

এনাম

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

"USER_SCRIPT"
এক্সিকিউশন এনভায়রনমেন্ট নির্দিষ্ট করে যা ব্যবহারকারীর স্ক্রিপ্টের জন্য নির্দিষ্ট এবং পৃষ্ঠার CSP থেকে মুক্ত।

InjectionResult

Chrome 135+

বৈশিষ্ট্য

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

    স্ট্রিং

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

  • ত্রুটি

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

    ত্রুটি, যদি থাকে। error এবং result পারস্পরিক একচেটিয়া।

  • ফ্রেমআইডি

    সংখ্যা

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

  • ফলাফল

    যে কোন ঐচ্ছিক

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

InjectionTarget

Chrome 135+

বৈশিষ্ট্য

  • সমস্ত ফ্রেম

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

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

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

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

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

  • ফ্রেমআইডি

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

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

  • ট্যাবআইডি

    সংখ্যা

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

RegisteredUserScript

বৈশিষ্ট্য

  • সব ফ্রেম

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

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

  • গ্লবস বাদ দিন

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

    পৃষ্ঠাগুলির জন্য ওয়াইল্ডকার্ড প্যাটার্ন নির্দিষ্ট করে এই ব্যবহারকারী স্ক্রিপ্টটি ইনজেক্ট করা হবে না৷

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

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

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

  • আইডি

    স্ট্রিং

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

  • গ্লবস অন্তর্ভুক্ত

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

    এই ব্যবহারকারী স্ক্রিপ্টটি ইনজেকশন করা হবে এমন পৃষ্ঠাগুলির জন্য ওয়াইল্ডকার্ড প্যাটার্ন নির্দিষ্ট করে৷

  • জেএস

    স্ক্রিপ্টসোর্স অবজেক্টের তালিকা যা স্ক্রিপ্টের উত্সগুলিকে সংজ্ঞায়িত করে যা মিলিত পৃষ্ঠাগুলিতে ইনজেক্ট করা হবে৷ এই বৈশিষ্ট্যটি অবশ্যই ${ref:register}-এর জন্য নির্দিষ্ট করা উচিত, এবং যখন নির্দিষ্ট করা হবে তখন এটি একটি অ-খালি অ্যারে হতে হবে।

  • মেলে

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

    এই ব্যবহারকারী স্ক্রিপ্টটি কোন পৃষ্ঠাগুলিতে ইনজেকশন করা হবে তা নির্দিষ্ট করে৷ এই স্ট্রিংগুলির সিনট্যাক্স সম্পর্কে আরও বিস্তারিত জানার জন্য ম্যাচ প্যাটার্নস দেখুন। এই সম্পত্তি অবশ্যই ${ref:register}-এর জন্য নির্দিষ্ট করতে হবে।

  • রানআট

    RunAt ঐচ্ছিক

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

  • বিশ্ব

    ExecutionWorld ঐচ্ছিক

    স্ক্রিপ্ট চালানোর জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন এনভায়রনমেন্ট। ডিফল্ট হল `USER_SCRIPT`

  • বিশ্বআইডি

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

    Chrome 133+

    এক্সিকিউট করার জন্য ইউজার স্ক্রিপ্ট ওয়ার্ল্ড আইডি নির্দিষ্ট করে। যদি বাদ দেওয়া হয়, স্ক্রিপ্টটি ডিফল্ট ইউজার স্ক্রিপ্ট ওয়ার্ল্ডে এক্সিকিউট হবে। শুধুমাত্র world বাদ দিলে বা USER_SCRIPT হলেই বৈধ। অগ্রণী আন্ডারস্কোর ( _ ) সহ মানগুলি সংরক্ষিত।

ScriptSource

বৈশিষ্ট্য

  • কোড

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

    ইনজেক্ট করার জন্য জাভাস্ক্রিপ্ট কোড ধারণকারী একটি স্ট্রিং। সঠিকভাবে file বা code একটি নির্দিষ্ট করা আবশ্যক।

  • ফাইল

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

    এক্সটেনশনের রুট ডিরেক্টরির সাথে সম্পর্কিত জাভাস্ক্রিপ্ট ফাইলের পাথ ইনজেকশনের জন্য। সঠিকভাবে file বা code একটি নির্দিষ্ট করা আবশ্যক।

UserScriptFilter

বৈশিষ্ট্য

  • আইডি

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

    getScripts শুধুমাত্র এই তালিকায় নির্দিষ্ট আইডি সহ স্ক্রিপ্ট প্রদান করে।

UserScriptInjection

Chrome 135+

বৈশিষ্ট্য

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

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

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

  • স্ক্রিপ্ট সোর্স অবজেক্টের তালিকা যা স্ক্রিপ্টের উৎসগুলিকে লক্ষ্যে প্রবেশ করানো হবে।

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

  • বিশ্ব

    ExecutionWorld ঐচ্ছিক

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

  • বিশ্বআইডি

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

    এক্সিকিউট করার জন্য ইউজার স্ক্রিপ্ট ওয়ার্ল্ড আইডি নির্দিষ্ট করে। যদি বাদ দেওয়া হয়, স্ক্রিপ্টটি ডিফল্ট ইউজার স্ক্রিপ্ট ওয়ার্ল্ডে এক্সিকিউট হবে। শুধুমাত্র world বাদ দিলে বা USER_SCRIPT হলেই বৈধ। অগ্রণী আন্ডারস্কোর ( _ ) সহ মানগুলি সংরক্ষিত।

WorldProperties

বৈশিষ্ট্য

  • csp

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

    বিশ্ব সিএসপি নির্দিষ্ট করে। ডিফল্ট হল `ISOLATED` ওয়ার্ল্ড সিএসপি।

  • মেসেজিং

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

    মেসেজিং এপিআই প্রকাশ করা হয়েছে কিনা তা নির্দিষ্ট করে। ডিফল্ট false .

  • বিশ্বআইডি

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

    Chrome 133+

    আপডেট করার জন্য নির্দিষ্ট ব্যবহারকারীর স্ক্রিপ্ট জগতের আইডি উল্লেখ করে। প্রদান করা না হলে, ডিফল্ট ব্যবহারকারী স্ক্রিপ্ট বিশ্বের বৈশিষ্ট্য আপডেট করে। অগ্রণী আন্ডারস্কোর ( _ ) সহ মানগুলি সংরক্ষিত।

পদ্ধতি

configureWorld()

প্রতিশ্রুতি
chrome.userScripts.configureWorld(
  properties: WorldProperties,
  callback?: function,
)

`USER_SCRIPT` এক্সিকিউশন এনভায়রনমেন্ট কনফিগার করে।

পরামিতি

  • বৈশিষ্ট্য

    ব্যবহারকারীর স্ক্রিপ্ট বিশ্ব কনফিগারেশন ধারণ করে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

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

execute()

প্রতিশ্রুতি Chrome 135+
chrome.userScripts.execute(
  injection: UserScriptInjection,
  callback?: function,
)

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

পরামিতি

রিটার্নস

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

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

getScripts()

প্রতিশ্রুতি
chrome.userScripts.getScripts(
  filter?: UserScriptFilter,
  callback?: function,
)

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

পরামিতি

  • ফিল্টার

    UserScriptFilter ঐচ্ছিক

    নির্দিষ্ট করা থাকলে, এই পদ্ধতিটি শুধুমাত্র ব্যবহারকারীর স্ক্রিপ্টগুলি প্রদান করে যা এর সাথে মেলে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (scripts: RegisteredUserScript[]) => void

রিটার্নস

  • প্রতিশ্রুতি< RegisteredUserScript []>

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

getWorldConfigurations()

প্রতিশ্রুতি Chrome 133+
chrome.userScripts.getWorldConfigurations(
  callback?: function,
)

সমস্ত নিবন্ধিত বিশ্ব কনফিগারেশন পুনরুদ্ধার করে।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (worlds: WorldProperties[]) => void

রিটার্নস

  • প্রতিশ্রুতি < বিশ্বসম্পদ []>

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

register()

প্রতিশ্রুতি
chrome.userScripts.register(
  scripts: RegisteredUserScript[],
  callback?: function,
)

এই এক্সটেনশনের জন্য এক বা একাধিক ব্যবহারকারী স্ক্রিপ্ট নিবন্ধন করে।

পরামিতি

  • নিবন্ধিত করার জন্য ব্যবহারকারীর স্ক্রিপ্টগুলির একটি তালিকা রয়েছে৷

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

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

resetWorldConfiguration()

প্রতিশ্রুতি Chrome 133+
chrome.userScripts.resetWorldConfiguration(
  worldId?: string,
  callback?: function,
)

একটি ব্যবহারকারী স্ক্রিপ্ট বিশ্বের জন্য কনফিগারেশন পুনরায় সেট করুন. যে কোনো স্ক্রিপ্ট যা নির্দিষ্ট আইডি দিয়ে বিশ্বে প্রবেশ করে তা ডিফল্ট বিশ্ব কনফিগারেশন ব্যবহার করবে।

পরামিতি

  • বিশ্বআইডি

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

    ব্যবহারকারীর স্ক্রিপ্ট জগতের আইডি রিসেট করতে হবে। যদি বাদ দেওয়া হয়, ডিফল্ট বিশ্বের কনফিগারেশন রিসেট করে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

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

unregister()

প্রতিশ্রুতি
chrome.userScripts.unregister(
  filter?: UserScriptFilter,
  callback?: function,
)

এই এক্সটেনশনের জন্য সমস্ত গতিশীল-নিবন্ধিত ব্যবহারকারী স্ক্রিপ্টগুলি নিবন্ধনমুক্ত করে৷

পরামিতি

  • ফিল্টার

    UserScriptFilter ঐচ্ছিক

    নির্দিষ্ট করা থাকলে, এই পদ্ধতিটি শুধুমাত্র ব্যবহারকারীর স্ক্রিপ্টগুলিকে নিবন্ধনমুক্ত করে যা এর সাথে মেলে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

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

update()

প্রতিশ্রুতি
chrome.userScripts.update(
  scripts: RegisteredUserScript[],
  callback?: function,
)

এই এক্সটেনশনের জন্য এক বা একাধিক ব্যবহারকারীর স্ক্রিপ্ট আপডেট করে।

পরামিতি

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্নস

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

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