chrome.webRequest

বর্ণনা

ট্র্যাফিক পর্যবেক্ষণ এবং বিশ্লেষণ করতে এবং ফ্লাইটে অনুরোধগুলিকে বাধা দিতে, ব্লক করতে বা সংশোধন করতে chrome.webRequest API ব্যবহার করুন৷

অনুমতি

webRequest

প্রয়োজনীয় হোস্ট অনুমতি সহ ওয়েব অনুরোধ API ব্যবহার করার জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "webRequest" অনুমতি ঘোষণা করতে হবে। একটি সাব-রিসোর্স রিকোয়েস্টকে আটকাতে, এক্সটেনশনের অনুরোধ করা ইউআরএল এবং এর ইনিশিয়েটর উভয়েরই অ্যাক্সেস থাকতে হবে। উদাহরণ স্বরূপ:

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

webRequestBlocking

ব্লকিং ইভেন্ট হ্যান্ডলারদের নিবন্ধন করতে হবে। ম্যানিফেস্ট V3 অনুসারে, এটি শুধুমাত্র পলিসি ইনস্টল করা এক্সটেনশনগুলিতে উপলব্ধ।

webRequestAuthProvider

onAuthRequired পদ্ধতি ব্যবহার করতে হবে। হ্যান্ডলিং প্রমাণীকরণ দেখুন।

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

অনুরোধের জীবনচক্র

ওয়েব রিকোয়েস্ট API ইভেন্টের একটি সেটকে সংজ্ঞায়িত করে যা একটি ওয়েব অনুরোধের জীবনচক্র অনুসরণ করে। আপনি ট্রাফিক পর্যবেক্ষণ এবং বিশ্লেষণ করতে এই ঘটনা ব্যবহার করতে পারেন. কিছু সিঙ্ক্রোনাস ইভেন্ট আপনাকে একটি অনুরোধ আটকাতে, ব্লক করতে বা সংশোধন করতে দেয়।

সফল অনুরোধের জন্য ইভেন্ট জীবন চক্র এখানে চিত্রিত করা হয়েছে, ইভেন্ট সংজ্ঞা দ্বারা অনুসরণ করা হয়েছে:

webrequest API এর দৃষ্টিকোণ থেকে একটি ওয়েব অনুরোধের জীবনচক্র

onBeforeRequest (ঐচ্ছিকভাবে সিঙ্ক্রোনাস)
যখন একটি অনুরোধ ঘটতে চলেছে তখন আগুন লাগে৷ এই ইভেন্টটি টিসিপি সংযোগ তৈরি হওয়ার আগে পাঠানো হয় এবং অনুরোধগুলি বাতিল বা পুনঃনির্দেশ করতে ব্যবহার করা যেতে পারে।
onBeforeSendHeaders (ঐচ্ছিকভাবে সিঙ্ক্রোনাস)
যখন একটি অনুরোধ ঘটতে চলেছে এবং প্রাথমিক শিরোনামগুলি প্রস্তুত করা হয়েছে তখন আগুন লাগে৷ ইভেন্টটি এক্সটেনশনগুলিকে অনুরোধ শিরোনাম (*) যোগ, সংশোধন এবং মুছে ফেলার অনুমতি দেওয়ার উদ্দেশ্যে। onBeforeSendHeaders ইভেন্টটি সমস্ত গ্রাহকদের কাছে পাস করা হয়েছে, তাই বিভিন্ন গ্রাহক অনুরোধটি সংশোধন করার চেষ্টা করতে পারে; এটি কীভাবে পরিচালনা করা হয় তার জন্য বাস্তবায়ন বিবরণ বিভাগটি দেখুন। এই ইভেন্ট অনুরোধ বাতিল করতে ব্যবহার করা যেতে পারে.
onSendHeaders
সমস্ত এক্সটেনশনের অনুরোধের শিরোনাম সংশোধন করার সুযোগ পাওয়ার পরে ফায়ার, এবং চূড়ান্ত (*) সংস্করণ উপস্থাপন করে। নেটওয়ার্কে হেডার পাঠানোর আগে ইভেন্টটি ট্রিগার হয়। এই ইভেন্টটি তথ্যপূর্ণ এবং অ্যাসিঙ্ক্রোনাসভাবে পরিচালনা করা হয়। এটি সংশোধন বা অনুরোধ বাতিল করার অনুমতি দেয় না।
onHeadersReceived (ঐচ্ছিকভাবে সিঙ্ক্রোনাস)
প্রতিবার যখন একটি HTTP(S) প্রতিক্রিয়া শিরোনাম প্রাপ্ত হয় তখন ফায়ার করে। পুনঃনির্দেশ এবং প্রমাণীকরণ অনুরোধের কারণে এটি প্রতি অনুরোধে একাধিকবার ঘটতে পারে। এই ইভেন্টটি এক্সটেনশনগুলিকে প্রতিক্রিয়া শিরোনাম, যেমন ইনকামিং কন্টেন্ট-টাইপ শিরোনামগুলি যোগ, সংশোধন এবং মুছে ফেলার অনুমতি দেওয়ার উদ্দেশ্যে করা হয়েছে৷ এই ইভেন্টটি ট্রিগার হওয়ার আগে ক্যাশিং নির্দেশিকাগুলি প্রক্রিয়া করা হয়, তাই ক্যাশে-কন্ট্রোলের মতো শিরোনামগুলি পরিবর্তন করার ব্রাউজারের ক্যাশে কোনও প্রভাব নেই৷ এটি আপনাকে অনুরোধটি বাতিল বা পুনঃনির্দেশ করার অনুমতি দেয়।
onAuthRequired (ঐচ্ছিকভাবে সিঙ্ক্রোনাস)
একটি অনুরোধ ব্যবহারকারীর প্রমাণীকরণের প্রয়োজন হলে ফায়ার হয়। প্রমাণীকরণ শংসাপত্র প্রদান করতে এই ইভেন্টটি সিঙ্ক্রোনাসভাবে পরিচালনা করা যেতে পারে। মনে রাখবেন যে এক্সটেনশনগুলি অবৈধ প্রমাণপত্রাদি প্রদান করতে পারে৷ বারবার অবৈধ শংসাপত্র প্রদান করে একটি অসীম লুপে প্রবেশ না করার যত্ন নিন। এটি অনুরোধ বাতিল করতেও ব্যবহার করা যেতে পারে।
onBeforeRedirect
যখন একটি পুনঃনির্দেশ কার্যকর হতে চলেছে তখন আগুন লাগে৷ একটি পুনঃনির্দেশ একটি HTTP প্রতিক্রিয়া কোড দ্বারা বা একটি এক্সটেনশন দ্বারা ট্রিগার করা যেতে পারে৷ এই ইভেন্টটি তথ্যপূর্ণ এবং অ্যাসিঙ্ক্রোনাসভাবে পরিচালনা করা হয়। এটি আপনাকে অনুরোধটি সংশোধন বা বাতিল করার অনুমতি দেয় না।
onResponseStarted
রেসপন্স বডির প্রথম বাইট প্রাপ্ত হলে আগুন লাগে। HTTP অনুরোধের জন্য, এর মানে হল স্ট্যাটাস লাইন এবং প্রতিক্রিয়া শিরোনাম উপলব্ধ। এই ইভেন্টটি তথ্যপূর্ণ এবং অ্যাসিঙ্ক্রোনাসভাবে পরিচালনা করা হয়। এটি সংশোধন বা অনুরোধ বাতিল করার অনুমতি দেয় না।
onCompleted
একটি অনুরোধ সফলভাবে প্রক্রিয়া করা হলে আগুন লাগে।
onErrorOccurred
একটি অনুরোধ সফলভাবে প্রক্রিয়া করা না হলে আগুন লাগে।

ওয়েব রিকোয়েস্ট API গ্যারান্টি দেয় যে প্রতিটি অনুরোধের জন্য, হয় onCompleted বা onErrorOccurred একটি ব্যতিক্রম সহ চূড়ান্ত ইভেন্ট হিসাবে বহিস্কার করা হয়: যদি একটি অনুরোধ একটি data:// URL-এ পুনঃনির্দেশিত হয়, তাহলে onBeforeRedirect হল সর্বশেষ রিপোর্ট করা ইভেন্ট।

* মনে রাখবেন যে ওয়েব অনুরোধ API এক্সটেনশনে নেটওয়ার্ক স্ট্যাকের একটি বিমূর্ততা উপস্থাপন করে। অভ্যন্তরীণভাবে, একটি URL অনুরোধকে কয়েকটি HTTP অনুরোধে বিভক্ত করা যেতে পারে (উদাহরণস্বরূপ, একটি বড় ফাইল থেকে পৃথক বাইট রেঞ্জ আনার জন্য) বা নেটওয়ার্কের সাথে যোগাযোগ না করেই নেটওয়ার্ক স্ট্যাক দ্বারা পরিচালনা করা যেতে পারে। এই কারণে, API নেটওয়ার্কে পাঠানো চূড়ান্ত HTTP হেডার প্রদান করে না। উদাহরণস্বরূপ, ক্যাশে সম্পর্কিত সমস্ত শিরোনামগুলি এক্সটেনশনে অদৃশ্য।

নিম্নলিখিত শিরোনামগুলি বর্তমানে onBeforeSendHeaders ইভেন্টে প্রদান করা হয় না । এই তালিকাটি সম্পূর্ণ বা স্থিতিশীল হওয়ার নিশ্চয়তা নেই।

  • অনুমোদন
  • ক্যাশে-নিয়ন্ত্রণ
  • সংযোগ
  • বিষয়বস্তু-দৈর্ঘ্য
  • হোস্ট
  • যদি-পরিবর্তিত-যখন থেকে
  • If-None-Match
  • যদি-পরিসীমা
  • আংশিক-ডেটা
  • প্রাগমা
  • প্রক্সি-অনুমোদন
  • প্রক্সি-সংযোগ
  • স্থানান্তর-এনকোডিং

Chrome 79 থেকে শুরু করে, হেডার পরিবর্তনের অনুরোধ ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) চেককে প্রভাবিত করে। যদি ক্রস-অরিজিন অনুরোধের জন্য পরিবর্তিত শিরোনামগুলি মানদণ্ড পূরণ না করে, তাহলে এই ধরনের শিরোনামগুলি গ্রহণ করা যেতে পারে কিনা তা সার্ভারকে জিজ্ঞাসা করতে একটি CORS প্রিফ্লাইট পাঠানো হবে৷ আপনি যদি সত্যিই CORS প্রোটোকল লঙ্ঘন করার জন্য শিরোনামগুলি পরিবর্তন করতে চান, তাহলে আপনাকে opt_extraInfoSpec'extraHeaders' নির্দিষ্ট করতে হবে। অন্যদিকে, প্রতিক্রিয়া শিরোনাম পরিবর্তনগুলি CORS চেকগুলিকে প্রতারিত করতে কাজ করে না৷ আপনি যদি CORS প্রোটোকলের সাথে প্রতারণা করতে চান তবে প্রতিক্রিয়া পরিবর্তনের জন্য আপনাকে 'extraHeaders' নির্দিষ্ট করতে হবে।

Chrome 79 থেকে শুরু করে, webRequest API ডিফল্টরূপে CORS প্রিফ্লাইট অনুরোধ এবং প্রতিক্রিয়াগুলিকে বাধা দেয় না । অনুরোধ URL-এর জন্য একটি CORS প্রিফ্লাইট একটি এক্সটেনশনের কাছে দৃশ্যমান হয় যদি অনুরোধ URL-এর জন্য opt_extraInfoSpec এ নির্দিষ্ট 'extraHeaders' সহ শ্রোতা থাকে। onBeforeRequest Chrome 79 থেকে 'extraHeaders' ও নিতে পারে।

Chrome 79 থেকে শুরু করে, নিম্নলিখিত অনুরোধ শিরোনাম প্রদান করা হয় না এবং opt_extraInfoSpec'extraHeaders' উল্লেখ না করে সংশোধন বা সরানো যাবে না:

  • উৎপত্তি

ক্রোম 72 থেকে শুরু করে, ক্রস অরিজিন রিড ব্লকিং (CORB) প্রতিক্রিয়া ব্লক করার আগে যদি আপনাকে প্রতিক্রিয়াগুলি পরিবর্তন করতে হয়, তাহলে আপনাকে opt_extraInfoSpec'extraHeaders' নির্দিষ্ট করতে হবে।

Chrome 72 থেকে শুরু করে, নিম্নলিখিত অনুরোধ শিরোনামগুলি প্রদান করা হয় না এবং opt_extraInfoSpec'extraHeaders' উল্লেখ না করে সংশোধন বা সরানো যাবে না:

  • স্বীকার-ভাষা
  • স্বীকার-এনকোডিং
  • রেফারার
  • কুকি

Chrome 72 থেকে শুরু করে, Set-Cookie প্রতিক্রিয়া শিরোনাম প্রদান করা হয় না এবং opt_extraInfoSpec'extraHeaders' উল্লেখ না করে সংশোধন বা সরানো যাবে না।

Chrome 89 থেকে শুরু করে, X-Frame-Options প্রতিক্রিয়া শিরোনামটি opt_extraInfoSpec'extraHeaders' উল্লেখ না করে কার্যকরভাবে পরিবর্তন বা সরানো যাবে না।

webRequest API শুধুমাত্র সেই অনুরোধগুলিকে প্রকাশ করে যা এক্সটেনশনের হোস্টের অনুমতিগুলি দেখার অনুমতি রয়েছে৷ তাছাড়া, শুধুমাত্র নিম্নলিখিত স্কিমগুলি অ্যাক্সেসযোগ্য: http:// , https:// , ftp:// , file:// , ws:// (Chrome 58 থেকে), wss:// (Chrome 58 থেকে), urn: (Chrome 91 থেকে), অথবা chrome-extension:// । উপরন্তু, উপরের স্কিমগুলির মধ্যে একটি ব্যবহার করে URL সহ নির্দিষ্ট অনুরোধগুলি লুকানো আছে৷ এর মধ্যে রয়েছে chrome-extension://other_extension_id যেখানে other_extension_id অনুরোধটি পরিচালনা করার জন্য এক্সটেনশনের আইডি নয়, https://www.google.com/chrome , এবং অন্যান্য সংবেদনশীল অনুরোধগুলি ব্রাউজার কার্যকারিতার মূল৷ এছাড়াও আপনার এক্সটেনশন থেকে সিঙ্ক্রোনাস XMLHttpঅনুরোধগুলি অচলাবস্থা প্রতিরোধ করার জন্য ইভেন্ট হ্যান্ডলারদের ব্লক করা থেকে লুকানো হয়৷ নোট করুন যে কিছু সমর্থিত স্কিমগুলির জন্য উপলব্ধ ইভেন্টের সেট সংশ্লিষ্ট প্রোটোকলের প্রকৃতির কারণে সীমিত হতে পারে। উদাহরণস্বরূপ, ফাইলের জন্য: স্কিম, শুধুমাত্র onBeforeRequest , onResponseStarted , onCompleted , এবং onErrorOccurred পাঠানো হতে পারে।

Chrome 58 থেকে শুরু করে, webRequest API WebSocket হ্যান্ডশেক অনুরোধকে বাধা দিতে সমর্থন করে। যেহেতু হ্যান্ডশেক একটি HTTP আপগ্রেড অনুরোধের মাধ্যমে করা হয়, তাই এর প্রবাহ HTTP-ভিত্তিক ওয়েবরিকোয়েস্ট মডেলে ফিট করে। মনে রাখবেন যে API বাধা দেয় না :

  • একটি প্রতিষ্ঠিত WebSocket সংযোগের মাধ্যমে পাঠানো পৃথক বার্তা।
  • WebSocket বন্ধ সংযোগ.

WebSocket অনুরোধের জন্য পুনঃনির্দেশ সমর্থিত নয়

ক্রোম 72 থেকে শুরু করে, একটি এক্সটেনশন শুধুমাত্র অনুরোধ করা ইউআরএল এবং রিকোয়েস্ট ইনিশিয়েটর উভয়ের হোস্টের অনুমতি থাকলেই একটি অনুরোধ আটকাতে সক্ষম হবে।

Chrome 96 থেকে শুরু করে, webRequest API HTTP/3 হ্যান্ডশেক অনুরোধের মাধ্যমে WebTransport-কে বাধা দিতে সমর্থন করে। যেহেতু হ্যান্ডশেক একটি HTTP CONNECT অনুরোধের মাধ্যমে করা হয়, তাই এর প্রবাহ HTTP-ভিত্তিক webRequest মডেলে ফিট করে। মনে রাখবেন যে:

  • একবার সেশন প্রতিষ্ঠিত হয়ে গেলে, এক্সটেনশনগুলি ওয়েবরিকোয়েস্ট API-এর মাধ্যমে সেশনে পর্যবেক্ষণ বা হস্তক্ষেপ করতে পারে না।
  • onBeforeSendHeaders এ HTTP অনুরোধ শিরোনাম পরিবর্তন করা উপেক্ষা করা হয়।
  • রিডাইরেক্ট এবং প্রমাণীকরণ HTTP/3 এর উপর WebTransport-এ সমর্থিত নয়

আইডি অনুরোধ করুন

প্রতিটি অনুরোধ একটি অনুরোধ আইডি দ্বারা চিহ্নিত করা হয়. এই আইডিটি একটি ব্রাউজার সেশন এবং একটি এক্সটেনশনের প্রসঙ্গে অনন্য। এটি একটি অনুরোধের জীবনচক্রের সময় স্থির থাকে এবং একই অনুরোধের জন্য ইভেন্টগুলি মেলানোর জন্য ব্যবহার করা যেতে পারে। মনে রাখবেন যে HTTP পুনর্নির্দেশ বা HTTP প্রমাণীকরণের ক্ষেত্রে একাধিক HTTP অনুরোধ একটি ওয়েব অনুরোধে ম্যাপ করা হয়।

ইভেন্ট শ্রোতা নিবন্ধন

একটি ওয়েব অনুরোধের জন্য একটি ইভেন্ট শ্রোতা নিবন্ধন করতে, আপনি স্বাভাবিক addListener() ফাংশনে একটি বৈচিত্র ব্যবহার করেন। একটি কলব্যাক ফাংশন নির্দিষ্ট করার পাশাপাশি, আপনাকে একটি ফিল্টার আর্গুমেন্ট নির্দিষ্ট করতে হবে এবং আপনি একটি ঐচ্ছিক অতিরিক্ত তথ্য আর্গুমেন্ট উল্লেখ করতে পারেন।

ওয়েব রিকোয়েস্ট API এর addListener() এর তিনটি আর্গুমেন্টের নিম্নলিখিত সংজ্ঞা রয়েছে:

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

onBeforeRequest ইভেন্টটি শোনার একটি উদাহরণ এখানে দেওয়া হল:

chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

প্রতিটি addListener() কল প্রথম প্যারামিটার হিসাবে একটি বাধ্যতামূলক কলব্যাক ফাংশন নেয়। এই কলব্যাক ফাংশনটি বর্তমান URL অনুরোধ সম্পর্কে তথ্য ধারণকারী একটি অভিধান পাস করা হয়েছে। এই অভিধানের তথ্য নির্দিষ্ট ইভেন্টের প্রকারের পাশাপাশি opt_extraInfoSpec এর বিষয়বস্তুর উপর নির্ভর করে।

যদি ঐচ্ছিক opt_extraInfoSpec অ্যারেতে 'blocking' স্ট্রিং থাকে (শুধুমাত্র নির্দিষ্ট ইভেন্টের জন্য অনুমোদিত), কলব্যাক ফাংশনটি সিঙ্ক্রোনাসভাবে পরিচালনা করা হয়। এর মানে হল যে কলব্যাক ফাংশন ফিরে না আসা পর্যন্ত অনুরোধটি ব্লক করা হয়েছে। এই ক্ষেত্রে, কলব্যাক একটি webRequest.BlockingResponse ফেরত দিতে পারে যা অনুরোধের পরবর্তী জীবনচক্র নির্ধারণ করে। প্রেক্ষাপটের উপর নির্ভর করে, এই প্রতিক্রিয়াটি একটি অনুরোধ বাতিল বা পুনঃনির্দেশিত করার অনুমতি দেয় ( onBeforeRequest ), একটি অনুরোধ বাতিল করা বা শিরোনামগুলি সংশোধন করা ( onBeforeSendHeaders , onHeadersReceived ), এবং একটি অনুরোধ বাতিল করা বা প্রমাণীকরণ শংসাপত্র প্রদান করা ( onAuthRequired )৷

যদি ঐচ্ছিক opt_extraInfoSpec অ্যারে এর পরিবর্তে 'asyncBlocking' স্ট্রিং থাকে (শুধুমাত্র onAuthRequired এর জন্য অনুমোদিত), এক্সটেনশনটি অ্যাসিঙ্ক্রোনাসভাবে webRequest.BlockingResponse তৈরি করতে পারে।

webRequest.RequestFilter filter বিভিন্ন মাত্রায় ইভেন্টগুলি ট্রিগার করা অনুরোধগুলিকে সীমিত করার অনুমতি দেয়:

ইউআরএল
URL প্যাটার্ন যেমন *://www.google.com/foo*bar
প্রকারভেদ
অনুরোধের ধরন যেমন main_frame (একটি নথি যা একটি শীর্ষ-স্তরের ফ্রেমের জন্য লোড করা হয়), sub_frame (একটি নথি যা একটি এমবেডেড ফ্রেমের জন্য লোড করা হয়), এবং image (ওয়েব সাইটের একটি চিত্র)। webRequest.RequestFilter দেখুন।
ট্যাব আইডি
একটি ট্যাবের শনাক্তকারী।
উইন্ডো আইডি
একটি উইন্ডোর শনাক্তকারী।

ইভেন্টের প্রকারের উপর নির্ভর করে, অনুরোধ সম্পর্কে অতিরিক্ত তথ্যের জন্য আপনি opt_extraInfoSpec এ স্ট্রিংগুলি নির্দিষ্ট করতে পারেন। এটি শুধুমাত্র স্পষ্টভাবে অনুরোধ করা হলে অনুরোধের ডেটার বিস্তারিত তথ্য প্রদান করতে ব্যবহৃত হয়।

হ্যান্ডলিং প্রমাণীকরণ

HTTP প্রমাণীকরণের জন্য অনুরোধগুলি পরিচালনা করতে, আপনার ম্যানিফেস্ট ফাইলে "webRequestAuthProvider" অনুমতি যোগ করুন:

{
  "permissions": [
    "webRequest",
    "webRequestAuthProvider"
  ]
}

মনে রাখবেন যে "webRequestBlocking" অনুমতি সহ একটি নীতি ইনস্টল করা এক্সটেনশনের জন্য এই অনুমতির প্রয়োজন নেই৷

সিঙ্ক্রোনাসভাবে শংসাপত্র প্রদান করতে:

chrome.webRequest.onAuthRequired.addListener((details) => {
    return {
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    };
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['blocking']
);

অ্যাসিঙ্ক্রোনাসভাবে শংসাপত্র প্রদান করতে:

chrome.webRequest.onAuthRequired.addListener((details, callback) => {
    callback({
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    });
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['asyncBlocking']
);

বাস্তবায়নের বিবরণ

ওয়েব রিকোয়েস্ট API ব্যবহার করে এমন একটি এক্সটেনশন ডেভেলপ করার সময় বেশ কিছু বাস্তবায়নের বিশদ বুঝতে গুরুত্বপূর্ণ হতে পারে:

ওয়েব_অ্যাক্সেসযোগ্য_সম্পদ

যখন একটি এক্সটেনশন ওয়েবে অ্যাক্সেসযোগ্য নয় এমন একটি রিসোর্সে পাবলিক রিসোর্স রিডাইরেক্ট করার জন্য webRequest API ব্যবহার করে, তখন এটি ব্লক করা হয় এবং এর ফলে একটি ত্রুটি দেখা দেয়। ওয়েব অ্যাক্সেসযোগ্য নয় এমন সংস্থান পুনঃনির্দেশিত এক্সটেনশনের মালিকানাধীন হলেও উপরেরটি সত্য। declarativeWebRequest API-এর সাথে ব্যবহারের জন্য সংস্থানগুলি ঘোষণা করতে, "web_accessible_resources" অ্যারেকে অবশ্যই এখানে নথিভুক্ত করা ম্যানিফেস্টে ঘোষণা করতে হবে এবং পপুলেট করতে হবে।

দ্বন্দ্ব সমাধান

ওয়েব রিকোয়েস্ট API-এর বর্তমান বাস্তবায়নে, একটি অনুরোধ বাতিল বলে গণ্য করা হয় যদি অন্তত একটি এক্সটেনশন অনুরোধটি বাতিল করার নির্দেশ দেয়। যদি একটি এক্সটেনশন একটি অনুরোধ বাতিল করে, তবে সমস্ত এক্সটেনশানগুলি একটি onErrorOccurred ইভেন্ট দ্বারা সূচিত হয়৷ শুধুমাত্র একটি এক্সটেনশন একটি অনুরোধ পুনঃনির্দেশ করতে পারে বা একবারে একটি শিরোনাম পরিবর্তন করতে পারে৷ যদি একাধিক এক্সটেনশন অনুরোধটি সংশোধন করার চেষ্টা করে, তবে অতি সম্প্রতি ইনস্টল করা এক্সটেনশন জয়ী হয় এবং অন্য সকলকে উপেক্ষা করা হয়। একটি এক্সটেনশনের সংশোধন বা পুনঃনির্দেশিত করার নির্দেশ উপেক্ষা করা হলে তাকে অবহিত করা হয় না।

ক্যাশিং

Chrome দুটি ক্যাশে নিয়োগ করে—একটি অন-ডিস্ক ক্যাশে এবং একটি খুব দ্রুত ইন-মেমরি ক্যাশে। একটি ইন-মেমরি ক্যাশের জীবনকাল একটি রেন্ডার প্রক্রিয়ার জীবনকালের সাথে সংযুক্ত থাকে, যা মোটামুটিভাবে একটি ট্যাবের সাথে মিলে যায়। ইন-মেমরি ক্যাশে থেকে উত্তর দেওয়া অনুরোধগুলি ওয়েব অনুরোধ API-এর কাছে অদৃশ্য। যদি একটি অনুরোধ হ্যান্ডলার তার আচরণ পরিবর্তন করে (উদাহরণস্বরূপ, যে আচরণ অনুযায়ী অনুরোধগুলি ব্লক করা হয়), একটি সাধারণ পৃষ্ঠা রিফ্রেশ এই পরিবর্তিত আচরণকে সম্মান নাও করতে পারে। আচরণের পরিবর্তন নিশ্চিত করতে, ইন-মেমরি ক্যাশে ফ্লাশ করতে handlerBehaviorChanged() কল করুন। কিন্তু প্রায়ই এটা করবেন না; ক্যাশে ফ্লাশ করা একটি অত্যন্ত ব্যয়বহুল অপারেশন। একটি ইভেন্ট লিসেনার রেজিস্টার বা আনরেজিস্টার করার পরে আপনাকে handlerBehaviorChanged() কল করার দরকার নেই।

টাইমস্ট্যাম্প

ওয়েব রিকোয়েস্ট ইভেন্টের timestamp সম্পত্তি শুধুমাত্র অভ্যন্তরীণভাবে সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা। একটি ইভেন্টকে অন্য ইভেন্টের সাথে তুলনা করলে আপনি তাদের মধ্যে সঠিক অফসেট পাবেন, কিন্তু এক্সটেনশনের ভিতরে বর্তমান সময়ের সাথে (new Date()).getTime() এর মাধ্যমে, উদাহরণস্বরূপ) তাদের তুলনা করা অপ্রত্যাশিত ফলাফল দিতে পারে।

ত্রুটি পরিচালনা

আপনি যদি অবৈধ আর্গুমেন্ট সহ একটি ইভেন্ট নিবন্ধন করার চেষ্টা করেন, তাহলে একটি জাভাস্ক্রিপ্ট ত্রুটি নিক্ষেপ করা হবে, এবং ইভেন্ট হ্যান্ডলার নিবন্ধিত হবে না। যদি একটি ইভেন্ট পরিচালনা করার সময় একটি ত্রুটি নিক্ষেপ করা হয় বা যদি একটি ইভেন্ট হ্যান্ডলার একটি অবৈধ ব্লকিং প্রতিক্রিয়া প্রদান করে, একটি ত্রুটি বার্তা আপনার এক্সটেনশনের কনসোলে লগ করা হয় এবং সেই অনুরোধের জন্য হ্যান্ডলারকে উপেক্ষা করা হয়৷

উদাহরণ

নিম্নলিখিত উদাহরণটি ব্যাখ্যা করে কিভাবে www.evil.com এ সমস্ত অনুরোধ ব্লক করতে হয়:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

যেহেতু এই ফাংশনটি একটি ব্লকিং ইভেন্ট হ্যান্ডলার ব্যবহার করে, এর জন্য ম্যানিফেস্ট ফাইলে "webRequest" এর পাশাপাশি "webRequestBlocking" অনুমতি প্রয়োজন৷

নিম্নলিখিত উদাহরণটি আরও কার্যকর উপায়ে একই লক্ষ্য অর্জন করে কারণ যে অনুরোধগুলি www.evil.com এ টার্গেট করা হয় না তাদের এক্সটেনশনে পাস করার প্রয়োজন নেই:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

নিম্নলিখিত উদাহরণটি ব্যাখ্যা করে কিভাবে সমস্ত অনুরোধ থেকে ব্যবহারকারী-এজেন্ট শিরোনাম মুছে ফেলতে হয়:

chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders.splice(i, 1);
        break;
      }
    }
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]
);

chrome.webRequest API ব্যবহার করতে, chrome-extension-samples repository থেকে webRequest নমুনা ইনস্টল করুন।

প্রকারভেদ

BlockingResponse

'ব্লকিং' extraInfoSpec প্রয়োগ করা ইভেন্ট হ্যান্ডলারদের জন্য মান প্রদান করে। ইভেন্ট হ্যান্ডলারকে নেটওয়ার্ক অনুরোধগুলি সংশোধন করার অনুমতি দেয়৷

বৈশিষ্ট্য

  • প্রমাণপত্রাদি

    বস্তু ঐচ্ছিক

    শুধুমাত্র onAuthRequired ইভেন্টের প্রতিক্রিয়া হিসেবে ব্যবহার করা হয়েছে। সেট করা থাকলে, সরবরাহকৃত শংসাপত্র ব্যবহার করে অনুরোধ করা হয়।

    • পাসওয়ার্ড

      স্ট্রিং

    • ব্যবহারকারীর নাম

      স্ট্রিং

  • বাতিল

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

    সত্য হলে, অনুরোধ বাতিল করা হয়। এটি অনুরোধ পাঠানো থেকে বাধা দেয়। এটি onBeforeRequest, onBeforeSendHeaders, onHeadersReceived এবং onAuthRequired ইভেন্টের প্রতিক্রিয়া হিসাবে ব্যবহার করা যেতে পারে।

  • redirectUrl

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

    শুধুমাত্র onBeforeRequest এবং onHeadersReceived ইভেন্টগুলির প্রতিক্রিয়া হিসাবে ব্যবহৃত হয়৷ সেট করা থাকলে, আসল অনুরোধ পাঠানো/সম্পূর্ণ হওয়া থেকে বাধা দেওয়া হয় এবং পরিবর্তে প্রদত্ত URL-এ পুনঃনির্দেশিত হয়। নন-HTTP স্কিমগুলিতে পুনঃনির্দেশ যেমন data: অনুমোদিত। একটি পুনঃনির্দেশ ক্রিয়া দ্বারা সূচিত পুনঃনির্দেশগুলি একটি ব্যতিক্রম সহ, পুনঃনির্দেশের জন্য মূল অনুরোধের পদ্ধতি ব্যবহার করে: যদি রিডাইরেক্টটি onHeadersReceived পর্যায়ে শুরু করা হয়, তাহলে GET পদ্ধতি ব্যবহার করে পুনঃনির্দেশ জারি করা হবে। ws:// এবং wss:// স্কিমগুলির সাথে URL থেকে পুনঃনির্দেশ উপেক্ষা করা হয়।

  • অনুরোধ শিরোনাম

    HttpHeaders ঐচ্ছিক

    শুধুমাত্র onBeforeSendHeaders ইভেন্টের প্রতিক্রিয়া হিসাবে ব্যবহৃত হয়। যদি সেট করা হয়, অনুরোধটি পরিবর্তে এই অনুরোধ শিরোনাম দিয়ে করা হয়।

  • প্রতিক্রিয়া শিরোনাম

    HttpHeaders ঐচ্ছিক

    শুধুমাত্র onHeadersReceived ইভেন্টের প্রতিক্রিয়া হিসেবে ব্যবহার করা হয়েছে। সেট করা হলে, সার্ভার পরিবর্তে এই প্রতিক্রিয়া শিরোনামগুলির সাথে সাড়া দিয়েছে বলে ধরে নেওয়া হয়। আপনি যদি সত্যিই দ্বন্দ্বের সংখ্যা সীমিত করার জন্য শিরোনামগুলি পরিবর্তন করতে চান তবে শুধুমাত্র responseHeaders শিরোনামগুলি ফেরত দিন (প্রতিটি অনুরোধের জন্য শুধুমাত্র একটি এক্সটেনশন responseHeaders পরিবর্তন করতে পারে)৷

FormDataItem

Chrome 66+

ফর্ম ডেটার মধ্যে পাস করা ডেটা রয়েছে। urlencoded ফর্মের জন্য এটি স্ট্রিং হিসাবে সংরক্ষণ করা হয় যদি ডেটা utf-8 স্ট্রিং হয় এবং অন্যথায় ArrayBuffer হিসাবে। ফর্ম-ডেটার জন্য এটি ArrayBuffer। যদি ফর্ম-ডেটা আপলোড করা ফাইলের প্রতিনিধিত্ব করে, তাহলে এটি ফাইলের নামের সাথে স্ট্রিং, যদি ফাইলের নাম দেওয়া হয়।

এনাম

অ্যারেবাফার

স্ট্রিং

HttpHeaders

HTTP শিরোনাম একটি অ্যারে. প্রতিটি শিরোনাম একটি অভিধান হিসাবে উপস্থাপন করা হয় যাতে কীগুলির name এবং হয় value বা binaryValue থাকে।

টাইপ

বস্তু[]

বৈশিষ্ট্য

  • বাইনারি ভ্যালু

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

    HTTP হেডারের মান যদি এটি UTF-8 দ্বারা প্রতিনিধিত্ব করা না যায়, তবে পৃথক বাইট মান (0..255) হিসাবে সংরক্ষণ করা হয়।

  • নাম

    স্ট্রিং

    HTTP হেডারের নাম।

  • মান

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

    HTTP হেডারের মান যদি এটি UTF-8 দ্বারা উপস্থাপন করা যায়।

IgnoredActionType

Chrome 70+

এনাম

"পুনঃনির্দেশ"

"অনুরোধ_শিরোনাম"

"প্রতিক্রিয়া_শিরোনাম"

"প্রমাণ_প্রমাণপত্র"

OnAuthRequiredOptions

Chrome 44+

এনাম

"প্রতিক্রিয়া শিরোনাম"
ইভেন্টে প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করা উচিত তা নির্দিষ্ট করে।

"অবরোধ"
কলব্যাক ফাংশন ফিরে না আসা পর্যন্ত অনুরোধটি অবরুদ্ধ করা হয়েছে তা নির্দিষ্ট করে।

"অসিঙ্কব্লকিং"
উল্লেখ করে যে কলব্যাক ফাংশন অ্যাসিঙ্ক্রোনাসভাবে পরিচালনা করা হয়।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnBeforeRedirectOptions

Chrome 44+

এনাম

"প্রতিক্রিয়া শিরোনাম"
ইভেন্টে প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করা উচিত তা নির্দিষ্ট করে।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnBeforeRequestOptions

Chrome 44+

এনাম

"অবরোধ"
কলব্যাক ফাংশন ফিরে না আসা পর্যন্ত অনুরোধটি অবরুদ্ধ করা হয়েছে তা নির্দিষ্ট করে।

"রিকোয়েস্টবডি"
নির্দিষ্ট করে যে অনুরোধের অংশটি ইভেন্টে অন্তর্ভুক্ত করা উচিত।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnBeforeSendHeadersOptions

Chrome 44+

এনাম

"অনুরোধ শিরোনাম"
উল্লেখ করে যে অনুরোধ শিরোনামটি ইভেন্টে অন্তর্ভুক্ত করা উচিত।

"অবরোধ"
কলব্যাক ফাংশন ফিরে না আসা পর্যন্ত অনুরোধটি অবরুদ্ধ করা হয়েছে তা নির্দিষ্ট করে।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnCompletedOptions

Chrome 44+

এনাম

"প্রতিক্রিয়া শিরোনাম"
ইভেন্টে প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করা উচিত তা নির্দিষ্ট করে।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnErrorOccurredOptions

Chrome 79+

মান

"অতিরিক্ত শিরোনাম"

OnHeadersReceivedOptions

Chrome 44+

এনাম

"অবরোধ"
কলব্যাক ফাংশন ফিরে না আসা পর্যন্ত অনুরোধটি অবরুদ্ধ করা হয়েছে তা নির্দিষ্ট করে।

"প্রতিক্রিয়া শিরোনাম"
ইভেন্টে প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করা উচিত তা নির্দিষ্ট করে।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnResponseStartedOptions

Chrome 44+

এনাম

"প্রতিক্রিয়া শিরোনাম"
ইভেন্টে প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করা উচিত তা নির্দিষ্ট করে।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

OnSendHeadersOptions

Chrome 44+

এনাম

"অনুরোধ শিরোনাম"
উল্লেখ করে যে অনুরোধ শিরোনামটি ইভেন্টে অন্তর্ভুক্ত করা উচিত।

"অতিরিক্ত শিরোনাম"
নির্দিষ্ট করে যে শিরোনামগুলি ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) লঙ্ঘন করতে পারে৷

RequestFilter

ওয়েব রিকোয়েস্ট ইভেন্টে প্রয়োগ করার জন্য ফিল্টার বর্ণনাকারী একটি বস্তু।

বৈশিষ্ট্য

  • ট্যাবআইডি

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

  • প্রকার

    রিসোর্স টাইপ [] ঐচ্ছিক

    অনুরোধের প্রকারের একটি তালিকা। কোনো প্রকারের সাথে মেলে না এমন অনুরোধ ফিল্টার আউট করা হবে।

  • ইউআরএল

    স্ট্রিং[]

    ইউআরএল বা ইউআরএল প্যাটার্নের একটি তালিকা। কোনো URL-এর সাথে মেলে না এমন অনুরোধগুলি ফিল্টার করা হবে৷

  • উইন্ডো আইডি

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

ResourceType

Chrome 44+

এনাম

"প্রধান_ফ্রেম"
প্রধান ফ্রেম হিসাবে সম্পদ নির্দিষ্ট করে।

"সাব_ফ্রেম"
একটি সাব ফ্রেম হিসাবে সম্পদ নির্দিষ্ট করে।

"স্টাইলশীট"
একটি স্টাইলশীট হিসাবে সম্পদ নির্দিষ্ট করে।

"লিপি"
একটি স্ক্রিপ্ট হিসাবে সম্পদ নির্দিষ্ট করে।

"ছবি"
একটি ছবি হিসাবে সম্পদ নির্দিষ্ট করে।

"ফন্ট"
একটি ফন্ট হিসাবে সম্পদ নির্দিষ্ট করে।

"বস্তু"
একটি বস্তু হিসাবে সম্পদ নির্দিষ্ট করে।

"xmlhttp অনুরোধ"
একটি XMLHttpRequest হিসাবে সম্পদ নির্দিষ্ট করে।

"পিং"
একটি পিং হিসাবে সম্পদ নির্দিষ্ট করে।

"csp_report"
একটি বিষয়বস্তু নিরাপত্তা নীতি (CSP) রিপোর্ট হিসাবে সম্পদ নির্দিষ্ট করে।

"মিডিয়া"
একটি মিডিয়া অবজেক্ট হিসাবে সম্পদ নির্দিষ্ট করে।

"ওয়েবসকেট"
একটি WebSocket হিসাবে সংস্থান নির্দিষ্ট করে।

"ওয়েববান্ডেল"
একটি WebBundle হিসাবে সংস্থান নির্দিষ্ট করে।

"অন্য"
তালিকাভুক্ত প্রকারের মধ্যে অন্তর্ভুক্ত নয় এমন একটি প্রকার হিসাবে সংস্থানকে নির্দিষ্ট করে৷

UploadData

একটি URL অনুরোধে আপলোড করা ডেটা রয়েছে৷

বৈশিষ্ট্য

  • বাইট

    যে কোন ঐচ্ছিক

    ডেটার একটি অনুলিপি সহ একটি ArrayBuffer।

  • ফাইল

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

    ফাইলের পথ এবং নাম সহ একটি স্ট্রিং।

বৈশিষ্ট্য

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

প্রতি 10 মিনিটের স্থায়ী ব্যবধানে handlerBehaviorChanged সর্বোচ্চ সংখ্যক বার কল করা যেতে পারে। handlerBehaviorChanged একটি ব্যয়বহুল ফাংশন কল যা প্রায়ই কল করা উচিত নয়।

মান

20

পদ্ধতি

handlerBehaviorChanged()

প্রতিশ্রুতি
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)

ক্যাশিংয়ের কারণে ভুল হ্যান্ডলিং রোধ করতে যখন webRequest হ্যান্ডলারদের আচরণ পরিবর্তিত হয় তখন কল করা প্রয়োজন। এই ফাংশন কল ব্যয়বহুল। এটা প্রায়ই কল করবেন না.

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    ()=>void

রিটার্নস

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

    Chrome 116+

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

ঘটনা

onActionIgnored

Chrome 70+
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

একটি নেটওয়ার্ক অনুরোধে একটি এক্সটেনশনের প্রস্তাবিত পরিবর্তন উপেক্ষা করা হলে বহিস্কার করা হয়৷ অন্যান্য এক্সটেনশনের সাথে দ্বন্দ্বের ক্ষেত্রে এটি ঘটে।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>void

    • বিস্তারিত

      বস্তু

      • প্রস্তাবিত পদক্ষেপ যা উপেক্ষা করা হয়েছে।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্টের সাথে সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

onAuthRequired

chrome.webRequest.onAuthRequired.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnAuthRequiredOptions[],
)

একটি প্রমাণীকরণ ব্যর্থতা প্রাপ্ত হলে বহিস্কার করা হয়। শ্রোতার কাছে তিনটি বিকল্প রয়েছে: এটি প্রমাণীকরণ শংসাপত্র প্রদান করতে পারে, এটি অনুরোধটি বাতিল করতে পারে এবং ত্রুটি পৃষ্ঠাটি প্রদর্শন করতে পারে, অথবা এটি চ্যালেঞ্জের উপর কোন পদক্ষেপ নিতে পারে না। খারাপ ব্যবহারকারীর শংসাপত্র প্রদান করা হলে, একই অনুরোধের জন্য এটি একাধিকবার কল করা হতে পারে। দ্রষ্টব্য, extraInfoSpec প্যারামিটারে 'blocking' বা 'asyncBlocking' মোডগুলির মধ্যে শুধুমাত্র একটি নির্দিষ্ট করা আবশ্যক।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object,asyncCallback?: function)=>BlockingResponse|undefined

    • বিস্তারিত

      বস্তু

      • চ্যালেঞ্জার

        বস্তু

        সার্ভার প্রমাণীকরণের অনুরোধ করছে।

        • হোস্ট

          স্ট্রিং

        • বন্দর

          সংখ্যা

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

        স্ট্রিং

        Chrome 106+

        অনুরোধ করা নথির UUID।

      • Chrome 106+

        নথিটি যে জীবনচক্রে রয়েছে৷

      • ফ্রেমআইডি

        সংখ্যা

        মান 0 নির্দেশ করে যে অনুরোধটি প্রধান ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের ID নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি একটি (সাব-)ফ্রেমের নথি লোড করা হয় ( type হল main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।

      • ফ্রেম টাইপ
        Chrome 106+

        যে ধরনের ফ্রেমে অনুরোধ করা হয়েছে।

      • সূচনাকারী

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

        Chrome 63+

        মূল যেখান থেকে অনুরোধ করা হয়েছিল। এটি পুনঃনির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উৎপত্তি হয়, স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • isProxy

        বুলিয়ান

        প্রক্সি-প্রমাণিকৃতের জন্য সত্য, WWW-প্রমাণিত করার জন্য মিথ্যা।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড HTTP পদ্ধতি।

      • parentDocumentId

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

        Chrome 106+

        এই ফ্রেমের মালিক নথির UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        ফ্রেমের আইডি যা অনুরোধ পাঠানো ফ্রেমটিকে মোড়ানো। কোন প্যারেন্ট ফ্রেম বিদ্যমান না থাকলে -1 এ সেট করুন।

      • রাজত্ব

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

        সার্ভার দ্বারা প্রদত্ত প্রমাণীকরণ ক্ষেত্র, যদি একটি থাকে।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্টের সাথে সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • প্রতিক্রিয়া শিরোনাম

        HttpHeaders ঐচ্ছিক

        এই প্রতিক্রিয়া সহ প্রাপ্ত HTTP প্রতিক্রিয়া শিরোনাম.

      • পরিকল্পনা

        স্ট্রিং

        প্রমাণীকরণ স্কিম, যেমন বেসিক বা ডাইজেস্ট।

      • স্ট্যাটাসকোড

        সংখ্যা

        Chrome 43+

        স্ট্যান্ডার্ড HTTP স্থিতি কোড সার্ভার দ্বারা ফেরত.

      • স্ট্যাটাসলাইন

        স্ট্রিং

        প্রতিক্রিয়ার HTTP স্ট্যাটাস লাইন বা HTTP/0.9 প্রতিক্রিয়াগুলির জন্য 'HTTP/0.9 200 OK' স্ট্রিং (অর্থাৎ, যে প্রতিক্রিয়াগুলির একটি স্ট্যাটাস লাইন নেই) অথবা কোনো শিরোনাম না থাকলে একটি খালি স্ট্রিং।

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবে অনুরোধ করা হয় তার আইডি। অনুরোধটি ট্যাবের সাথে সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        যুগের পর থেকে মিলিসেকেন্ডে যখন এই সংকেতটি ট্রিগার হয়।

      • অনুরোধকৃত সম্পদ কিভাবে ব্যবহার করা হবে।

      • url

        স্ট্রিং

    • asyncCallback

      ফাংশন ঐচ্ছিক

      Chrome 58+

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

      (response: BlockingResponse)=>void

    • রিটার্ন

      ব্লকিং রেসপন্স |অনির্ধারিত

      যদি "অতিরিক্ত ইনফোস্পেক" প্যারামিটারে "ব্লকিং" নির্দিষ্ট করা থাকে, তাহলে ইভেন্ট শ্রোতার এই ধরনের একটি বস্তু ফেরত দেওয়া উচিত।

  • extraInfoSpec

    OnAuthRequiredOptions [] ঐচ্ছিক

onBeforeRedirect

chrome.webRequest.onBeforeRedirect.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRedirectOptions[],
)

একটি সার্ভার-ইনিশিয়েটেড রিডাইরেক্ট ঘটতে চলেছে তখন বহিস্কার করা হয়েছে৷

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>void

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধ করা নথির UUID।

      • Chrome 106+

        নথিটি যে জীবনচক্রে রয়েছে৷

      • ফ্রেমআইডি

        সংখ্যা

        মান 0 নির্দেশ করে যে অনুরোধটি প্রধান ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের ID নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি একটি (সাব-)ফ্রেমের নথি লোড করা হয় ( type হল main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।

      • ফ্রেম টাইপ
        Chrome 106+

        যে ধরনের ফ্রেমে অনুরোধ করা হয়েছে।

      • ক্যাশে থেকে

        বুলিয়ান

        এই প্রতিক্রিয়া ডিস্ক ক্যাশে থেকে আনা হয়েছে কিনা নির্দেশ করে।

      • সূচনাকারী

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

        Chrome 63+

        মূল যেখান থেকে অনুরোধ করা হয়েছিল। এটি পুনঃনির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উৎপত্তি হয়, স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • আইপি

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

        যে সার্ভারের আইপি অ্যাড্রেসটিতে অনুরোধ পাঠানো হয়েছিল। মনে রাখবেন এটি একটি আক্ষরিক IPv6 ঠিকানা হতে পারে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড HTTP পদ্ধতি।

      • parentDocumentId

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

        Chrome 106+

        এই ফ্রেমের মালিক নথির UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        ফ্রেমের আইডি যা অনুরোধ পাঠানো ফ্রেমটিকে মোড়ানো। কোন প্যারেন্ট ফ্রেম বিদ্যমান না থাকলে -1 এ সেট করুন।

      • redirectUrl

        স্ট্রিং

        নতুন URL.

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্টের সাথে সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • প্রতিক্রিয়া শিরোনাম

        HttpHeaders ঐচ্ছিক

        এই পুনঃনির্দেশের সাথে প্রাপ্ত HTTP প্রতিক্রিয়া শিরোনাম।

      • স্ট্যাটাসকোড

        সংখ্যা

        স্ট্যান্ডার্ড HTTP স্থিতি কোড সার্ভার দ্বারা ফেরত.

      • স্ট্যাটাসলাইন

        স্ট্রিং

        প্রতিক্রিয়ার HTTP স্ট্যাটাস লাইন বা HTTP/0.9 প্রতিক্রিয়াগুলির জন্য 'HTTP/0.9 200 OK' স্ট্রিং (অর্থাৎ, যে প্রতিক্রিয়াগুলির একটি স্ট্যাটাস লাইন নেই) অথবা কোনো শিরোনাম না থাকলে একটি খালি স্ট্রিং।

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবে অনুরোধ করা হয় তার আইডি। অনুরোধটি ট্যাবের সাথে সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        যুগের পর থেকে মিলিসেকেন্ডে যখন এই সংকেতটি ট্রিগার হয়।

      • অনুরোধকৃত সম্পদ কিভাবে ব্যবহার করা হবে।

      • url

        স্ট্রিং

  • extraInfoSpec

    OnBeforeRedirectOptions [] ঐচ্ছিক

onBeforeRequest

chrome.webRequest.onBeforeRequest.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRequestOptions[],
)

যখন একটি অনুরোধ ঘটতে চলেছে তখন বহিস্কার করা হয়েছে৷

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>BlockingResponse|undefined

    • বিস্তারিত

      বস্তু

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

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

        Chrome 106+

        অনুরোধ করা নথির UUID।

      • নথি জীবনচক্র
        Chrome 106+

        নথিটি যে জীবনচক্রে রয়েছে৷

      • ফ্রেমআইডি

        সংখ্যা

        মান 0 নির্দেশ করে যে অনুরোধটি প্রধান ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের ID নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি একটি (সাব-)ফ্রেমের নথি লোড করা হয় ( type হল main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।

      • ফ্রেম টাইপ

        extensionTypes.FrameType ঐচ্ছিক

        Chrome 106+

        যে ধরনের ফ্রেমে অনুরোধ করা হয়েছে।

      • সূচনাকারী

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

        Chrome 63+

        মূল যেখান থেকে অনুরোধ করা হয়েছিল। এটি পুনঃনির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উৎপত্তি হয়, স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড HTTP পদ্ধতি।

      • parentDocumentId

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

        Chrome 106+

        এই ফ্রেমের মালিক নথির UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        ফ্রেমের আইডি যা অনুরোধ পাঠানো ফ্রেমটিকে মোড়ানো। কোন প্যারেন্ট ফ্রেম বিদ্যমান না থাকলে -1 এ সেট করুন।

      • অনুরোধবডি

        বস্তু ঐচ্ছিক

        HTTP অনুরোধের বডি ডেটা রয়েছে। শুধুমাত্র extraInfoSpec-এ 'requestBody' থাকলেই দেওয়া হয়।

        • ত্রুটি

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

          অনুরোধের বডি ডেটা পাওয়ার সময় ত্রুটি৷

        • ফর্ম ডেটা

          বস্তু ঐচ্ছিক

          যদি অনুরোধের পদ্ধতিটি POST হয় এবং মূল অংশটি UTF8 এ এনকোড করা কী-মানের জোড়ার একটি ক্রম হয়, হয় মাল্টিপার্ট/ফর্ম-ডেটা, বা অ্যাপ্লিকেশন/x-www-form-urlencoded হিসাবে এনকোড করা হয়, এই অভিধানটি উপস্থিত থাকে এবং প্রতিটি কী-এর জন্য রয়েছে সেই কীটির জন্য সমস্ত মানের তালিকা। যদি ডেটা অন্য মিডিয়া টাইপের হয়, অথবা যদি এটি বিকৃত হয়, অভিধানটি উপস্থিত নয়। এই অভিধানের একটি উদাহরণ মান হল {'key': ['value1', 'value2']}।

        • কাঁচা

          আপলোড ডেটা [] ঐচ্ছিক

          যদি অনুরোধের পদ্ধতিটি PUT বা POST হয়, এবং বডিটি ইতিমধ্যেই formData-এ পার্স করা না হয়, তাহলে এই অ্যারেতে পার্স না করা অনুরোধের বডি উপাদানগুলি থাকে৷

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্টের সাথে সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবে অনুরোধ করা হয় তার আইডি। অনুরোধটি ট্যাবের সাথে সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        যুগের পর থেকে মিলিসেকেন্ডে যখন এই সংকেতটি ট্রিগার হয়।

      • অনুরোধকৃত সম্পদ কিভাবে ব্যবহার করা হবে।

      • url

        স্ট্রিং

    • রিটার্ন

      ব্লকিং রেসপন্স |অনির্ধারিত

      যদি "অতিরিক্ত ইনফোস্পেক" প্যারামিটারে "ব্লকিং" নির্দিষ্ট করা থাকে, তাহলে ইভেন্ট শ্রোতার এই ধরনের একটি বস্তু ফেরত দেওয়া উচিত।

  • extraInfoSpec

    OnBeforeRequestOptions [] ঐচ্ছিক

onBeforeSendHeaders

chrome.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

অনুরোধ শিরোনাম উপলব্ধ হলে একটি HTTP অনুরোধ পাঠানোর আগে বহিস্কার করা হয়। এটি সার্ভারে একটি TCP সংযোগ তৈরি হওয়ার পরে ঘটতে পারে, কিন্তু কোনো HTTP ডেটা পাঠানোর আগে।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>BlockingResponse|undefined

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধ করা নথির UUID।

      • Chrome 106+

        নথিটি যে জীবনচক্রে রয়েছে৷

      • ফ্রেমআইডি

        সংখ্যা

        মান 0 নির্দেশ করে যে অনুরোধটি প্রধান ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের ID নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি একটি (সাব-)ফ্রেমের নথি লোড করা হয় ( type হয় main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।

      • ফ্রেম টাইপ
        Chrome 106+

        যে ধরনের ফ্রেমে অনুরোধ করা হয়েছে।

      • সূচনাকারী

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

        Chrome 63+

        মূল যেখান থেকে অনুরোধ করা হয়েছিল। এটি পুনঃনির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উৎপত্তি হয়, স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড HTTP পদ্ধতি।

      • parentDocumentId

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

        Chrome 106+

        এই ফ্রেমের মালিক নথির UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        ফ্রেমের আইডি যা অনুরোধ পাঠানো ফ্রেমটিকে মোড়ানো। কোন প্যারেন্ট ফ্রেম বিদ্যমান না থাকলে -1 এ সেট করুন।

      • অনুরোধ শিরোনাম

        HttpHeaders ঐচ্ছিক

        HTTP অনুরোধ শিরোনাম যা এই অনুরোধের সাথে পাঠানো হবে।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্টের সাথে সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবে অনুরোধ করা হয় তার আইডি। অনুরোধটি ট্যাবের সাথে সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        যুগের পর থেকে মিলিসেকেন্ডে যখন এই সংকেতটি ট্রিগার হয়।

      • অনুরোধকৃত সম্পদ কিভাবে ব্যবহার করা হবে।

      • url

        স্ট্রিং

    • রিটার্ন

      ব্লকিং রেসপন্স |অনির্ধারিত

      যদি "অতিরিক্ত ইনফোস্পেক" প্যারামিটারে "ব্লকিং" নির্দিষ্ট করা থাকে, তাহলে ইভেন্ট শ্রোতার এই ধরনের একটি বস্তু ফেরত দেওয়া উচিত।

  • extraInfoSpec

    OnBeforeSendHeadersOptions [] ঐচ্ছিক

onCompleted

chrome.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

একটি অনুরোধ সম্পূর্ণ হলে বহিস্কার করা হয়েছে।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>void

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধ করা নথির UUID।

      • Chrome 106+

        নথিটি যে জীবনচক্রে রয়েছে৷

      • ফ্রেমআইডি

        সংখ্যা

        মান 0 নির্দেশ করে যে অনুরোধটি প্রধান ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের ID নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি একটি (সাব-)ফ্রেমের নথি লোড করা হয় ( type হয় main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডি একটি ট্যাবের মধ্যে অনন্য।

      • ফ্রেম টাইপ
        Chrome 106+

        যে ধরনের ফ্রেমে অনুরোধ করা হয়েছে।

      • ক্যাশে থেকে

        বুলিয়ান

        এই প্রতিক্রিয়া ডিস্ক ক্যাশে থেকে আনা হয়েছে কিনা নির্দেশ করে।

      • সূচনাকারী

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

        Chrome 63+

        মূল যেখান থেকে অনুরোধ করা হয়েছিল। এটি পুনঃনির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উৎপত্তি হয়, স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • আইপি

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

        যে সার্ভারের আইপি অ্যাড্রেসটিতে অনুরোধ পাঠানো হয়েছিল। মনে রাখবেন এটি একটি আক্ষরিক IPv6 ঠিকানা হতে পারে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড HTTP পদ্ধতি।

      • parentDocumentId

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

        Chrome 106+

        এই ফ্রেমের মালিক নথির UUID। অভিভাবক না থাকলে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        ফ্রেমের আইডি যা অনুরোধ পাঠানো ফ্রেমটিকে মোড়ানো। কোন প্যারেন্ট ফ্রেম বিদ্যমান না থাকলে -1 এ সেট করুন।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্টের সাথে সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • প্রতিক্রিয়া শিরোনাম

        HttpHeaders ঐচ্ছিক

        এই প্রতিক্রিয়া সহ প্রাপ্ত HTTP প্রতিক্রিয়া শিরোনাম.

      • স্ট্যাটাসকোড

        সংখ্যা

        স্ট্যান্ডার্ড HTTP স্থিতি কোড সার্ভার দ্বারা ফেরত.

      • স্ট্যাটাসলাইন

        স্ট্রিং

        প্রতিক্রিয়াটির HTTP স্ট্যাটাস লাইন বা এইচটিটিপি/0.9 প্রতিক্রিয়াগুলির জন্য 'এইচটিটিপি/0.9 200 ওকে' স্ট্রিং (অর্থাত্ কোনও স্ট্যাটাস লাইনের অভাব রয়েছে) বা কোনও খালি স্ট্রিং যদি কোনও শিরোনাম না থাকে।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবটির আইডি যেখানে অনুরোধটি ঘটে। অনুরোধটি কোনও ট্যাব সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        এই সংকেতটি ট্রিগার করা হয়, যুগের পর থেকে মিলিসেকেন্ডে।

      • অনুরোধ করা সংস্থানটি কীভাবে ব্যবহৃত হবে।

      • url

        স্ট্রিং

  • এক্সট্রেনফোস্পেক

    Oncompletedoptions [] al চ্ছিক

onErrorOccurred

chrome.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

একটি ত্রুটি দেখা দিলে বরখাস্ত।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>void

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধটি তৈরি করে নথির ইউআইডি। অনুরোধটি কোনও ফ্রেমের নেভিগেশন হলে এই মানটি উপস্থিত নেই।

      • Chrome 106+

        লাইফসাইকেলটি দস্তাবেজটি রয়েছে।

      • ত্রুটি

        স্ট্রিং

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

      • ফ্রেমিড

        সংখ্যা

        মান 0 ইঙ্গিত করে যে অনুরোধটি মূল ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের আইডি নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি এ (সাব-) ফ্রেমের নথিটি লোড করা হয় ( type main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডিগুলি একটি ট্যাবের মধ্যে অনন্য।

      • Chrome 106+

        অনুরোধটি ফ্রেমের ধরণটি ঘটেছে।

      • ক্যাচ থেকে

        বুলিয়ান

        যদি এই প্রতিক্রিয়াটি ডিস্ক ক্যাশে থেকে আনা হয়েছিল তা নির্দেশ করে।

      • সূচনাকারী

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

        Chrome 63+

        উত্স যেখানে অনুরোধ শুরু করা হয়েছিল। এটি পুনর্নির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উত্স হয় তবে স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • আইপি

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

        সার্ভার আইপি ঠিকানা যে অনুরোধটি আসলে প্রেরণ করা হয়েছিল। নোট করুন যে এটি একটি আক্ষরিক আইপিভি 6 ঠিকানা হতে পারে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি।

      • প্যারেন্টডোকামেন্টআইডি

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

        Chrome 106+

        এই ফ্রেমের মালিকানাধীন প্যারেন্ট ডকুমেন্টের ইউআইডি। পিতা বা মাতা না থাকলে এটি সেট করা হয় না।

      • প্যারেন্টফ্রেমিড

        সংখ্যা

        ফ্রেমের আইডি যা ফ্রেমটি মোড়ানো যা অনুরোধটি প্রেরণ করে। কোনও পিতামাতার ফ্রেম না থাকলে -1 এ সেট করুন।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। ব্রাউজার সেশনের মধ্যে অনুরোধ আইডিগুলি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্ট সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবটির আইডি যেখানে অনুরোধটি ঘটে। অনুরোধটি কোনও ট্যাব সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        এই সংকেতটি ট্রিগার করা হয়, যুগের পর থেকে মিলিসেকেন্ডে।

      • অনুরোধ করা সংস্থানটি কীভাবে ব্যবহৃত হবে।

      • url

        স্ট্রিং

  • এক্সট্রেনফোস্পেক

    Onerroroccurredoptions [] al চ্ছিক

onHeadersReceived

chrome.webRequest.onHeadersReceived.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnHeadersReceivedOptions[],
)

যখন কোনও অনুরোধের HTTP প্রতিক্রিয়া শিরোনামগুলি পাওয়া যায় তখন বরখাস্ত।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>BlockingResponse|undefined

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধটি তৈরি করে নথির ইউআইডি।

      • Chrome 106+

        লাইফসাইকেলটি দস্তাবেজটি রয়েছে।

      • ফ্রেমিড

        সংখ্যা

        মান 0 ইঙ্গিত করে যে অনুরোধটি মূল ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের আইডি নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি এ (সাব-) ফ্রেমের নথিটি লোড করা হয় ( type main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডিগুলি একটি ট্যাবের মধ্যে অনন্য।

      • Chrome 106+

        অনুরোধটি ফ্রেমের ধরণটি ঘটেছে।

      • সূচনাকারী

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

        Chrome 63+

        উত্স যেখানে অনুরোধ শুরু করা হয়েছিল। এটি পুনর্নির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উত্স হয় তবে স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি।

      • প্যারেন্টডোকামেন্টআইডি

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

        Chrome 106+

        এই ফ্রেমের মালিকানাধীন প্যারেন্ট ডকুমেন্টের ইউআইডি। পিতা বা মাতা না থাকলে এটি সেট করা হয় না।

      • প্যারেন্টফ্রেমিড

        সংখ্যা

        ফ্রেমের আইডি যা ফ্রেমটি মোড়ানো যা অনুরোধটি প্রেরণ করে। কোনও পিতামাতার ফ্রেম না থাকলে -1 এ সেট করুন।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। ব্রাউজার সেশনের মধ্যে অনুরোধ আইডিগুলি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্ট সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • প্রতিক্রিয়া শিরোনাম

        Httpeaders al চ্ছিক

        এই প্রতিক্রিয়াটির সাথে প্রাপ্ত এইচটিটিপি প্রতিক্রিয়া শিরোনামগুলি।

      • স্ট্যাটাসকোড

        সংখ্যা

        Chrome 43+

        স্ট্যান্ডার্ড এইচটিটিপি স্থিতি কোড সার্ভার দ্বারা ফিরে।

      • স্ট্যাটাসলাইন

        স্ট্রিং

        প্রতিক্রিয়াটির HTTP স্ট্যাটাস লাইন বা 'HTTP/0.9 200 ওকে' স্ট্রিং এইচটিটিপি/0.9 প্রতিক্রিয়াগুলির জন্য (যেমন, প্রতিক্রিয়াগুলি যা স্ট্যাটাস লাইনের অভাব রয়েছে)।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবটির আইডি যেখানে অনুরোধটি ঘটে। অনুরোধটি কোনও ট্যাব সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        এই সংকেতটি ট্রিগার করা হয়, যুগের পর থেকে মিলিসেকেন্ডে।

      • অনুরোধ করা সংস্থানটি কীভাবে ব্যবহৃত হবে।

      • url

        স্ট্রিং

    • রিটার্ন

      ব্লকিং রেসপন্স | অপরিজ্ঞাত

      যদি "ব্লকিং" "এক্সট্রেনফোস্পেক" প্যারামিটারে নির্দিষ্ট করা থাকে তবে ইভেন্ট শ্রোতার এই ধরণের কোনও অবজেক্ট ফিরিয়ে দেওয়া উচিত।

  • এক্সট্রেনফোস্পেক

    Eleadersreciedoptions [] al চ্ছিক

onResponseStarted

chrome.webRequest.onResponseStarted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnResponseStartedOptions[],
)

প্রতিক্রিয়া বডি প্রথম বাইট যখন প্রাপ্ত হয় তখন বরখাস্ত। এইচটিটিপি অনুরোধগুলির জন্য, এর অর্থ হ'ল স্ট্যাটাস লাইন এবং প্রতিক্রিয়া শিরোনামগুলি উপলব্ধ।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>void

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধটি তৈরি করে নথির ইউআইডি।

      • Chrome 106+

        লাইফসাইকেলটি দস্তাবেজটি রয়েছে।

      • ফ্রেমিড

        সংখ্যা

        মান 0 ইঙ্গিত করে যে অনুরোধটি মূল ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের আইডি নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি এ (সাব-) ফ্রেমের নথিটি লোড করা হয় ( type main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডিগুলি একটি ট্যাবের মধ্যে অনন্য।

      • Chrome 106+

        অনুরোধটি ফ্রেমের ধরণটি ঘটেছে।

      • ক্যাচ থেকে

        বুলিয়ান

        যদি এই প্রতিক্রিয়াটি ডিস্ক ক্যাশে থেকে আনা হয়েছিল তা নির্দেশ করে।

      • সূচনাকারী

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

        Chrome 63+

        উত্স যেখানে অনুরোধ শুরু করা হয়েছিল। এটি পুনর্নির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উত্স হয় তবে স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • আইপি

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

        সার্ভার আইপি ঠিকানা যে অনুরোধটি আসলে প্রেরণ করা হয়েছিল। নোট করুন যে এটি একটি আক্ষরিক আইপিভি 6 ঠিকানা হতে পারে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি।

      • প্যারেন্টডোকামেন্টআইডি

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

        Chrome 106+

        এই ফ্রেমের মালিকানাধীন প্যারেন্ট ডকুমেন্টের ইউআইডি। পিতা বা মাতা না থাকলে এটি সেট করা হয় না।

      • প্যারেন্টফ্রেমিড

        সংখ্যা

        ফ্রেমের আইডি যা ফ্রেমটি মোড়ানো যা অনুরোধটি প্রেরণ করে। কোনও পিতামাতার ফ্রেম না থাকলে -1 এ সেট করুন।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। ব্রাউজার সেশনের মধ্যে অনুরোধ আইডিগুলি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্ট সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • প্রতিক্রিয়া শিরোনাম

        Httpeaders al চ্ছিক

        এই প্রতিক্রিয়া সহ প্রাপ্ত এইচটিটিপি প্রতিক্রিয়া শিরোনামগুলি।

      • স্ট্যাটাসকোড

        সংখ্যা

        স্ট্যান্ডার্ড এইচটিটিপি স্থিতি কোড সার্ভার দ্বারা ফিরে।

      • স্ট্যাটাসলাইন

        স্ট্রিং

        প্রতিক্রিয়াটির HTTP স্ট্যাটাস লাইন বা এইচটিটিপি/0.9 প্রতিক্রিয়াগুলির জন্য 'এইচটিটিপি/0.9 200 ওকে' স্ট্রিং (অর্থাত্ কোনও স্ট্যাটাস লাইনের অভাব রয়েছে) বা কোনও খালি স্ট্রিং যদি কোনও শিরোনাম না থাকে।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবটির আইডি যেখানে অনুরোধটি ঘটে। অনুরোধটি কোনও ট্যাব সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        এই সংকেতটি ট্রিগার করা হয়, যুগের পর থেকে মিলিসেকেন্ডে।

      • অনুরোধ করা সংস্থানটি কীভাবে ব্যবহৃত হবে।

      • url

        স্ট্রিং

  • এক্সট্রেনফোস্পেক

    Onresponsestartedoptions [] al চ্ছিক

onSendHeaders

chrome.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

সার্ভারে কোনও অনুরোধ প্রেরণের ঠিক আগে বরখাস্ত করা হয়েছে (অনসেন্ডহেডারদের বরখাস্ত করার সময় পূর্ববর্তী অনবফোরসেন্ডেডার্স কলব্যাকগুলির পরিবর্তনগুলি দৃশ্যমান হয়)।

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (details: object)=>void

    • বিস্তারিত

      বস্তু

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

        স্ট্রিং

        Chrome 106+

        অনুরোধটি তৈরি করে নথির ইউআইডি।

      • Chrome 106+

        লাইফসাইকেলটি দস্তাবেজটি রয়েছে।

      • ফ্রেমিড

        সংখ্যা

        মান 0 ইঙ্গিত করে যে অনুরোধটি মূল ফ্রেমে ঘটে; একটি ইতিবাচক মান একটি সাবফ্রেমের আইডি নির্দেশ করে যেখানে অনুরোধটি ঘটে। যদি এ (সাব-) ফ্রেমের নথিটি লোড করা হয় ( type main_frame বা sub_frame ), frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। ফ্রেম আইডিগুলি একটি ট্যাবের মধ্যে অনন্য।

      • Chrome 106+

        অনুরোধটি ফ্রেমের ধরণটি ঘটেছে।

      • সূচনাকারী

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

        Chrome 63+

        উত্স যেখানে অনুরোধ শুরু করা হয়েছিল। এটি পুনর্নির্দেশের মাধ্যমে পরিবর্তন হয় না। যদি এটি একটি অস্বচ্ছ উত্স হয় তবে স্ট্রিং 'নাল' ব্যবহার করা হবে।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি।

      • প্যারেন্টডোকামেন্টআইডি

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

        Chrome 106+

        এই ফ্রেমের মালিকানাধীন প্যারেন্ট ডকুমেন্টের ইউআইডি। পিতা বা মাতা না থাকলে এটি সেট করা হয় না।

      • প্যারেন্টফ্রেমিড

        সংখ্যা

        ফ্রেমের আইডি যা ফ্রেমটি মোড়ানো যা অনুরোধটি প্রেরণ করে। কোনও পিতামাতার ফ্রেম না থাকলে -1 এ সেট করুন।

      • অনুরোধহেডার

        Httpeaders al চ্ছিক

        এইচটিটিপি অনুরোধ শিরোনামগুলি যা এই অনুরোধটি দিয়ে প্রেরণ করা হয়েছে।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। ব্রাউজার সেশনের মধ্যে অনুরোধ আইডিগুলি অনন্য। ফলস্বরূপ, তারা একই অনুরোধের বিভিন্ন ইভেন্ট সম্পর্কিত করতে ব্যবহার করা যেতে পারে।

      • ট্যাবআইডি

        সংখ্যা

        ট্যাবটির আইডি যেখানে অনুরোধটি ঘটে। অনুরোধটি কোনও ট্যাব সম্পর্কিত না হলে -1 এ সেট করুন।

      • টাইমস্ট্যাম্প

        সংখ্যা

        এই সংকেতটি ট্রিগার করা হয়, যুগের পর থেকে মিলিসেকেন্ডে।

      • অনুরোধ করা সংস্থানটি কীভাবে ব্যবহৃত হবে।

      • url

        স্ট্রিং

  • এক্সট্রেনফোস্পেক