refresh date: 2026-09-25 robots: noindex
شرح
از chrome.webRequest API برای مشاهده و تجزیهوتحلیل ترافیک و رهگیری، مسدود کردن، یا اصلاح درخواستهای درحال پردازش استفاده کنید.
اجازهها
webRequestمانیفست
برای استفاده از میانای برنامهسازی کاربردی درخواست وب، باید اجازه "webRequest" را در مانیفست افزونه بههمراه اجازههای میزبان لازم اعلام کنید. برای رهگیری درخواست زیرمنبع، افزونه باید هم به نشانی وب درخواستشده و هم به آغازگر آن دسترسی داشته باشد. برای مثال:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
از Chrome 108، اگر از اجازههای "webRequest" و "webRequestAuthProvider" استفاده کنید، میتوانید بهصورت ناهمگام اعتبارنامههایی برای رویدادهای onAuthRequired ارائه دهید.
چرخه زندگی درخواستها
میانای برنامهسازی کاربردی درخواست وب مجموعهای از رویدادها را تعریف میکند که چرخه زندگی درخواست وب را دنبال میکنند. میتوانید از این رویدادها برای مشاهده و تحلیل ترافیک استفاده کنید. برخیاز رویدادهای همگام به شما امکان میدهند درخواست را رهگیری، مسدود، یا اصلاح کنید.
چرخه عمر رویداد برای درخواستهای موفق در اینجا نشان داده شده است و پساز آن تعاریف رویداد آمده است:

onBeforeRequest(اختیاری همگام)- وقتی درخواستی درحال وقوع باشد، فعال میشود. این رویداد قبلاز برقراری هرگونه اتصال TCP ارسال میشود و میتوان از آن برای لغو یا تغییر مسیر درخواستها استفاده کرد.
onBeforeSendHeaders(اختیاری همگام)- وقتی فعال میشود که درخواستی درحال وقوع باشد و سرصفحههای اولیه آماده شده باشند. هدف این رویداد این است که به افزونهها اجازه دهد سرایندهای درخواست را اضافه، اصلاح، و حذف کنند (*). رویداد
onBeforeSendHeadersبه همه مشترکین ارسال میشود، بنابراین مشترکین مختلف ممکن است تلاش کنند درخواست را اصلاح کنند؛ برای نحوه مدیریت این موضوع، به بخش جزئیات پیادهسازی مراجعه کنید. از این رویداد میتوان برای لغو درخواست استفاده کرد. onSendHeaders- پساز اینکه همه افزونهها فرصت اصلاح سرایندهای درخواست را پیدا کردند، فعال میشود و نسخه نهایی (*) را ارائه میدهد. این رویداد قبلاز ارسال سرصفحهها به شبکه راهاندازی میشود. این رویداد اطلاعاتی است و بهصورت ناهمگام مدیریت میشود. این کار اجازه اصلاح یا لغو درخواست را نمیدهد.
onHeadersReceived(اختیاری همگام)- هر بار که سرایند پاسخ HTTP(S) دریافت میشود، فعال میشود. بهدلیل درخواستهای اصالتسنجی و تغییر مسیر، این اتفاق ممکن است چندین بار برای هر درخواست رخ دهد. این رویداد برای این است که به افزونهها اجازه دهد سرایندهای پاسخ را اضافه، اصلاح، و حذف کنند، مثل سرایندهای Content-Type ورودی. دستورالعملهای ذخیرهسازی در حافظه نهان قبلاز راهاندازی این رویداد پردازش میشوند، بنابراین اصلاح سرایندهایی مانند Cache-Control تأثیری بر حافظه نهان مرورگر ندارد. همچنین به شما امکان میدهد درخواست را لغو یا هدایت کنید.
onAuthRequired(اختیاری همگام)- وقتی فعال میشود که درخواستی به اصالتسنجی کاربر نیاز داشته باشد. این رویداد را میتوان بهصورت همزمان برای ارائه اعتبارنامههای اصالتسنجی مدیریت کرد. توجه داشته باشید که افزونهها ممکن است اطلاعات اعتباری نامعتبر ارائه دهند. مراقب باشید با ارائه مکرر اعتبارنامه نامعتبر، وارد حلقه بینهایت نشوید. از این دکمه همچنین میتوان برای لغو درخواست استفاده کرد.
onBeforeRedirect- وقتی هدایت مجدد درحال اجرا باشد فعال میشود. بازهدایت میتواند توسط کد پاسخ HTTP یا توسط افزونه راهاندازی شود. این رویداد اطلاعاتی است و بهصورت ناهمگام مدیریت میشود. این گزینه به شما اجازه نمیدهد درخواست را اصلاح یا لغو کنید.
onResponseStarted- وقتی اولین بایت بدنه پاسخ دریافت میشود، فعال میشود. برای درخواستهای HTTP، این یعنی خط وضعیت و سرایندهای پاسخ دردسترس هستند. این رویداد اطلاعاتی است و بهصورت ناهمگام رسیدگی میشود. این کار اجازه اصلاح یا لغو درخواست را نمیدهد.
onCompleted- وقتی درخواستی با موفقیت پردازش میشود، فعال میشود.
onErrorOccurred- وقتی درخواست با موفقیت پردازش نشود، فعال میشود.
web request API تضمین میکند که برای هر درخواست، یا onCompleted یا onErrorOccurred بهعنوان رویداد نهایی اجرا میشود، بهجز یک استثنا: اگر درخواستی به نشانی وب data:// هدایت شود، onBeforeRedirect آخرین رویداد گزارششده است.
* توجه داشته باشید که API درخواست وب، انتزاعی از پشته شبکه را به افزونه ارائه میدهد. در داخل، یک درخواست نشانی وب میتواند به چند درخواست اچتیتیپی تقسیم شود (برای مثال، برای واکشی کردن محدودههای بایت جداگانه از یک فایل بزرگ) یا میتواند توسط پشته شبکه بدون ارتباط با شبکه مدیریت شود. به همین دلیل، میانای برنامهسازی کاربردی سرایندهای HTTP نهایی را که به شبکه ارسال میشود ارائه نمیدهد. برای مثال، همه سرصفحههای مربوط به ذخیرهسازی موقت برای افزونه نامرئی هستند.
درحالحاضر، سرصفحههای زیر برای رویداد onBeforeSendHeaders ارائه نشده است. تضمینی نیست که این فهرست کامل یا ثابت باشد.
- صدور مجوز
- کنترل حافظه نهان
- اتصال
- Content-Length
- میزبان
- If-Modified-Since
- If-None-Match
- If-Range
- Partial-Data
- Pragma
- Proxy-Authorization
- Proxy-Connection
- کدبندی انتقال
از Chrome 79، اصلاحات سرایند درخواست بر بررسیهای «همرسانی منبع میانمبدئی» (CORS) تأثیر میگذارد. اگر سرصفحههای اصلاحشده برای درخواستهای میانمبدئی با معیارها مطابقت نداشته باشند،
یک پیشپرواز CORS ارسال میشود تا از سرور بپرسد آیا چنین سرصفحههایی قابلپذیرش هستند یا نه. اگر واقعاً لازم است سرصفحهها را بهگونهای اصلاح کنید که پروتکل CORS نقض شود، باید 'extraHeaders' را در opt_extraInfoSpec مشخص کنید. ازسوی دیگر، اصلاحات سرایند پاسخ برای فریب دادن بررسیهای CORS کار نمیکند. اگر لازم است پروتکل CORS را فریب دهید، باید 'extraHeaders' را نیز برای
اصلاحات پاسخ مشخص کنید.
از Chrome نسخه ۷۹ به بعد، webRequest API بهطور پیشفرض درخواستها و پاسخهای پیشپرواز CORS را رهگیری نمیکند. اگر شنوندهای با 'extraHeaders' مشخصشده در opt_extraInfoSpec برای نشانی وب درخواست وجود داشته باشد،
پیشپرواز CORS برای نشانی وب درخواست برای افزونه قابلمشاهده است.
onBeforeRequest همچنین میتواند 'extraHeaders' را از Chrome 79 بگیرد.
از Chrome نسخه ۷۹ به بعد، سرایند درخواست زیر ارائه نمیشود و بدون مشخص کردن 'extraHeaders' در opt_extraInfoSpec نمیتوان آن را اصلاح یا حذف کرد:
- مبدأ
از Chrome 72، اگر لازم است پاسخها را قبلاز اینکه مسدود کردن خواندن میانمبدئی (CORB) بتواند پاسخ را مسدود کند اصلاح کنید، باید 'extraHeaders' را در opt_extraInfoSpec مشخص کنید.
از Chrome نسخه ۷۲ به بعد، سرایندهای درخواست زیر ارائه نمیشوند و بدون مشخص کردن 'extraHeaders' در opt_extraInfoSpec نمیتوان آنها را اصلاح یا حذف کرد:
- Accept-Language
- Accept-Encoding
- ارجاعدهنده
- کوکی
از Chrome نسخه ۷۲ به بعد، سرایند پاسخ Set-Cookie ارائه نمیشود و بدون مشخص کردن 'extraHeaders' در opt_extraInfoSpec نمیتوان آن را اصلاح یا حذف کرد.
از Chrome نسخه ۸۹ به بعد، سرایند پاسخ X-Frame-Options را نمیتوان بهطور مؤثر اصلاح یا حذف کرد
مگر اینکه 'extraHeaders' در opt_extraInfoSpec مشخص شده باشد.
میانای برنامهسازی کاربردی webRequest فقط درخواستهایی را نشان میدهد که افزونه بااستفاده از اجازههای میزبان خود اجازه دیدن آنها را دارد. علاوهبراین، فقط طرحهای زیر دردسترس هستند: http://، https://،
ftp://، file://، ws:// (از Chrome 58)، wss:// (از Chrome 58)، urn: (از Chrome 91)، یا
chrome-extension://. علاوهبراین، حتی برخیاز درخواستهای دارای نشانی وب که از یکی از طرحهای بالا استفاده میکنند
پنهان میشوند. این موارد شامل chrome-extension://other_extension_id است که در آن other_extension_id شناسه افزونه برای رسیدگی به درخواست نیست، https://www.google.com/chrome، و دیگر درخواستهای حساس که برای عملکرد مرورگر ضروری هستند. همچنین XMLHttpRequests همگام از افزونه شما از مسدود کردن گردانندههای رویداد پنهان میشود تا از بنبست جلوگیری شود. توجه داشته باشید که برای برخیاز طرحهای پشتیبانیشده، مجموعه رویدادهای دردسترس ممکن است بهدلیل ماهیت پروتکل مربوطه محدود باشد. برای مثال، برای طرح فایل، فقط onBeforeRequest،
onResponseStarted، onCompleted، و onErrorOccurred ممکن است ارسال شود.
از Chrome 58، webRequest API از رهگیری درخواست دستدهی WebSocket پشتیبانی میکند. ازآنجاییکه دستدهی ازطریق درخواست ارتقای HTTP انجام میشود، جریان آن در مدل webRequest مبتنی بر HTTP قرار میگیرد. توجه داشته باشید که API موارد زیر را رهگیری نمیکند:
- پیامهای جداگانه ارسالشده ازطریق اتصال WebSocket برقرارشده.
- WebSocket درحال بستن اتصال است.
بازهدایتها برای درخواستهای WebSocket پشتیبانی نمیشوند.
از Chrome 72 به بعد، افزونه فقط درصورتی میتواند درخواست را رهگیری کند که برای نشانی وب درخواستشده و آغازگر درخواست، اجازه میزبان داشته باشد.
از Chrome 96، webRequest API از رهگیری درخواست دستدهی WebTransport ازطریق HTTP/3 پشتیبانی میکند. ازآنجاییکه دستدهی ازطریق درخواست HTTP CONNECT انجام میشود، جریان آن در مدل webRequest مبتنی بر HTTP قرار میگیرد. توجه داشته باشید:
- پساز برقراری جلسه، افزونهها نمیتوانند ازطریق webRequest API جلسه را مشاهده کنند یا در آن مداخله کنند.
- اصلاح سرصفحههای درخواست HTTP در
onBeforeSendHeadersنادیده گرفته میشود. - بازهدایتها و اصالتسنجیها در WebTransport ازطریق HTTP/3 پشتیبانی نمیشوند.
مفاهیم
همانطور که در بخشهای زیر توضیح داده شده است، رویدادها در میانای برنامهسازی کاربردی درخواست وب از شناسههای درخواست استفاده میکنند و شما میتوانید هنگام ثبت شنوندگان رویداد، بهطور اختیاری فیلترها و اطلاعات اضافی را مشخص کنید.
شناسههای درخواست
هر درخواست با شناسه درخواست شناسایی میشود. این شناسه در یک جلسه مرورگر و زمینه افزونه منحصربهفرد است. این شناسه درطول چرخه عمر درخواست ثابت میماند و میتوان از آن برای مطابقت دادن رویدادها برای همان درخواست استفاده کرد. توجه داشته باشید که درصورت تغییر مسیر HTTP یا اصالتسنجی HTTP، چندین درخواست HTTP به یک درخواست وب نگاشت میشود.
درحال ثبت شنوندگان رویداد
برای ثبت شنونده رویداد برای درخواست وب، از نوعی تابعaddListener()
معمول استفاده میکنید. علاوهبر مشخص کردن تابع بازخوانی، باید متغیر مستقل فیلتر را مشخص کنید و میتوانید متغیر مستقل اطلاعات اضافی اختیاری را نیز مشخص کنید.
سه آرگومان addListener() میانای برنامهسازی کاربردی درخواست وب تعاریف زیر را دارند:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
در اینجا مثالی از گوش دادن به رویداد onBeforeRequest آورده شده است:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
هر فراخوانی addListener() یک تابع بازخوانی اجباری را بهعنوان پارامتر اول میگیرد. این تابع بازخوانی
یک واژهنامه حاوی اطلاعات مربوط به درخواست نشانی وب فعلی را ارسال میکند. اطلاعات موجود در این فرهنگ لغت به نوع رویداد خاص و همچنین محتوای opt_extraInfoSpec بستگی دارد.
اگر آرایه اختیاری opt_extraInfoSpec حاوی رشته 'blocking' باشد (فقط برای رویدادهای خاص مجاز است)، تابع بازخوانی بهصورت همگام مدیریت میشود. یعنی درخواست تا زمانی که تابع بازخوانی برگردانده نشود مسدود است. دراینصورت، فراخوانی برگشتی میتواند یک
webRequest.BlockingResponse برگرداند که چرخه عمر بعدی درخواست را تعیین میکند. بسته به بافت، این پاسخ امکان لغو یا تغییر مسیر درخواست (onBeforeRequest)، لغو درخواست یا اصلاح سرصفحهها (onBeforeSendHeaders، onHeadersReceived)، و لغو درخواست یا ارائه اعتبارنامههای اصالتسنجی (onAuthRequired) را فراهم میکند.
اگر آرایه اختیاری opt_extraInfoSpec حاوی رشته 'asyncBlocking' باشد (فقط برای onAuthRequired مجاز است)، افزونه میتواند webRequest.BlockingResponse را بهصورت ناهمگام تولید کند.
webRequest.RequestFilter filter امکان محدود کردن درخواستهایی را که رویدادها برای آنها در ابعاد مختلف راهاندازی میشوند فراهم میکند:
- نشانیهای وب
- الگوهای نشانی وب مانند
*://www.google.com/foo*bar. - انواع
- انواع درخواست مثل
main_frame(سندی که برای قاب سطح بالا بار میشود)،sub_frame(سندی که برای قاب جاسازیشده بار میشود)، وimage(تصویری در وبسایت).webRequest.RequestFilterرا ببینید. - شناسه برگه
- شناسه یک برگه.
- شناسه پنجره
- شناسه پنجره.
بسته به نوع رویداد، میتوانید رشتههایی را در opt_extraInfoSpec مشخص کنید تا اطلاعات بیشتری درباره درخواست بخواهید. این مورد برای ارائه اطلاعات دقیق درباره دادههای درخواست فقط درصورت درخواست صریح استفاده میشود.
جزئیات پیادهسازی
هنگام توسعه افزونهای که از میانای برنامهسازی کاربردی درخواست وب استفاده میکند، درک چندین جزئیات پیادهسازی میتواند مهم باشد:
web_accessible_resources
وقتی افزونهای از APIهای webRequest برای هدایت درخواست منبع عمومی به منبعی که ازطریق وب دردسترس نیست استفاده میکند، مسدود میشود و منجر به خطا خواهد شد. موارد بالا حتی اگر منبعی که ازطریق وب قابلدسترسی نیست متعلق به افزونه هدایتکننده باشد نیز صادق است. برای اعلام منابعی که با میاناهای برنامهسازی کاربردی declarativeWebRequest استفاده میشوند، آرایه "web_accessible_resources" باید در مانیفست اعلام و پر شود، همانطور که در اینجا مستند شده است.
حل تعارض
در پیادهسازی فعلی میانای برنامهسازی کاربردی درخواست وب، اگر حداقل یک افزونه دستور لغو درخواست را بدهد، درخواست لغوشده درنظر گرفته میشود. اگر افزونهای درخواستی را لغو کند، همه
افزونهها ازطریق رویداد onErrorOccurred مطلع میشوند. در هر زمان فقط یک افزونه میتواند درخواست را تغییر مسیر دهد یا سرصفحه را اصلاح کند. اگر بیشاز یک افزونه برای اصلاح درخواست تلاش کند،
افزونهای که اخیراً نصب شده است برنده میشود و بقیه نادیده گرفته میشوند. اگر دستورالعمل افزونه برای اصلاح یا تغییر مسیر نادیده گرفته شود،
به آن افزونه اطلاع داده نمیشود.
در حال ذخیره در حافظه نهان
Chrome از دو حافظه نهان استفاده میکند: حافظه نهان روی دیسک و حافظه نهان بسیار سریع درون حافظه. طول عمر حافظه نهان درونحافظهای به طول عمر فرایند پردازش رندرینگ وابسته است که تقریباً با یک برگه مطابقت دارد.
درخواستهایی که از حافظه نهان درونحافظهای پاسخ داده میشوند برای میانای برنامهسازی کاربردی درخواست وب نامرئی هستند. اگر
گرداننده درخواست رفتار خود را تغییر دهد (برای مثال، رفتاری که براساس آن درخواستها
مسدود میشوند)، بازآوری ساده صفحه ممکن است این رفتار تغییریافته را رعایت نکند. برای اطمینان از اعمال تغییر رفتار، 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"]
);
مثال زیر نحوه حذف سرصفحه User-Agent از همه درخواستها را نشان میدهد:
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،
نمونه webRequest را از مخزن chrome-extension-samples
نصب کنید.
انواع
BlockingResponse
مقدار را برای کنترلکنندههای رویدادی که extraInfoSpec «مسدودکننده» برای آنها اعمال شده است برمیگرداند. به گرداننده رویداد اجازه میدهد درخواستهای شبکه را تغییر دهد.
مشخصات
-
authCredentials
شیء اختیاری
فقط بهعنوان پاسخ به رویداد onAuthRequired استفاده میشود. اگر تنظیم شود، درخواست بااستفاده از اعتبارنامههای ارائهشده انجام میشود.
-
گذرواژه
رشته
-
نام کاربری
رشته
-
-
لغو کردن
بولی اختیاری
اگر درست باشد، درخواست لغو میشود. این کار از ارسال درخواست جلوگیری میکند. این میتواند بهعنوان پاسخی به رویدادهای onBeforeRequest، onBeforeSendHeaders، onHeadersReceived، و onAuthRequired استفاده شود.
-
redirectUrl
رشته اختیاری
فقط بهعنوان پاسخ به رویدادهای onBeforeRequest و onHeadersReceived استفاده میشود. اگر تنظیم شود، از ارسال/تکمیل درخواست اصلی جلوگیری میشود و درعوض به نشانی وب ارائهشده هدایت میشود. هدایت به طرحهای غیر-HTTP مانند
data:مجاز است. بازهدایتهایی که با کنش بازهدایت شروع میشوند از روش درخواست اصلی برای بازهدایت استفاده میکنند، با یک استثنا: اگر بازهدایت در مرحله onHeadersReceived شروع شود، بازهدایت بااستفاده از روش GET صادر خواهد شد. هدایتها از نشانیهای وب با طرحهایws://وwss://نادیده گرفته میشوند. -
requestHeaders
HttpHeaders اختیاری
فقط بهعنوان پاسخ به رویداد onBeforeSendHeaders استفاده میشود. اگر تنظیم شود، درخواست با این سرصفحههای درخواست انجام میشود.
-
responseHeaders
HttpHeaders اختیاری
فقط بهعنوان پاسخ به رویداد onHeadersReceived استفاده میشود. اگر تنظیم شود، فرض میشود که سرور با این سرصفحههای پاسخ پاسخ داده است. فقط درصورتی
responseHeadersرا برگردانید که واقعاً بخواهید سرصفحهها را تغییر دهید تا تعداد تداخلها محدود شود (فقط یک افزونه میتواندresponseHeadersرا برای هر درخواست تغییر دهد).
FormDataItem
حاوی دادههای منتقلشده در دادههای فرم است. برای فرم urlencoded، اگر دادهها رشته utf-8 باشد، بهصورت رشته ذخیره میشود و درغیراینصورت بهصورت ArrayBuffer ذخیره میشود. برای دادههای فرم، ArrayBuffer است. اگر دادههای فرم نشاندهنده بارگذاری فایل باشد، رشتهای با نام فایل است، درصورتیکه نام فایل ارائه شده باشد.
شمارشی
ArrayBuffer
رشته
HttpHeaders
آرایهای از سرصفحههای HTTP. هر سرایند بهصورت یک واژهنامه نشان داده میشود که حاوی کلیدهای name و value یا binaryValue است.
نوع
object[]
مشخصات
-
binaryValue
number[] اختیاری
مقدار سرایند HTTP اگر نتوان آن را با UTF-8 نشان داد، بهعنوان مقادیر بایت تکی (۰..۲۵۵) ذخیره میشود.
-
نام
رشته
نام سرایند HTTP.
-
مقدار
رشته اختیاری
مقدار سرایند HTTP اگر بتوان آن را با UTF-8 نشان داد.
IgnoredActionType
شمارشی
«redirect»
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
شمارشی
«responseHeaders»
مشخص میکند که سرایندهای پاسخ باید در رویداد گنجانده شوند.
«مسدود کردن»
مشخص میکند که درخواست تا زمانی که تابع بازخوانی برگردد مسدود است.
"asyncBlocking"
مشخص میکند که تابع بازخوانی بهصورت غیرهمگام مدیریت میشود.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
OnBeforeRedirectOptions
شمارشی
«responseHeaders»
مشخص میکند که سرایندهای پاسخ باید در رویداد گنجانده شوند.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
OnBeforeRequestOptions
شمارشی
«مسدود کردن»
مشخص میکند که درخواست تا زمانی که تابع بازخوانی برگردد مسدود است.
«requestBody»
مشخص میکند که بدنه درخواست باید در رویداد گنجانده شود.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
OnBeforeSendHeadersOptions
شمارشی
«requestHeaders»
مشخص میکند که سرایند درخواست باید در رویداد گنجانده شود.
«مسدود کردن»
مشخص میکند که درخواست تا زمانی که تابع بازخوانی برگردد مسدود است.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
OnCompletedOptions
شمارشی
«responseHeaders»
مشخص میکند که سرایندهای پاسخ باید در رویداد گنجانده شوند.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
OnErrorOccurredOptions
مقدار
"extraHeaders"
OnHeadersReceivedOptions
شمارشی
«مسدود کردن»
مشخص میکند که درخواست تا زمانی که تابع بازخوانی برگردد مسدود است.
«responseHeaders»
مشخص میکند که سرایندهای پاسخ باید در رویداد گنجانده شوند.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
«securityInfo»
مشخص میکند که SecurityInfo باید در رویداد گنجانده شود.
«securityInfoRawDer»
مشخص میکند که SecurityInfo با بایتهای خام گواهینامهها باید در رویداد گنجانده شود.
OnResponseStartedOptions
شمارشی
«responseHeaders»
مشخص میکند که سرایندهای پاسخ باید در رویداد گنجانده شوند.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
OnSendHeadersOptions
شمارشی
«requestHeaders»
مشخص میکند که سرایند درخواست باید در رویداد گنجانده شود.
«extraHeaders»
مشخص میکند که سرصفحهها میتوانند «همرسانی منبع میانمبدئی» (CORS) را نقض کنند.
RequestFilter
شیئی که فیلترهای اعمالشده بر رویدادهای webRequest را توصیف میکند.
مشخصات
-
tabId
شماره اختیاری
-
انواع
ResourceType[] اختیاری
فهرستی از انواع درخواست. درخواستهایی که با هیچیک از انواع مطابقت نداشته باشند فیلتر خواهند شد.
-
نشانیهای وب
string[]
فهرستی از نشانیهای وب یا الگوهای نشانی وب. درخواستهایی که با هیچیک از نشانیهای وب مطابقت نداشته باشند فیلتر خواهند شد.
-
windowId
شماره اختیاری
ResourceType
شمارشی
«main_frame»
منبع را بهعنوان قاب اصلی مشخص میکند.
"sub_frame"
منبع را بهعنوان زیرقاب مشخص میکند.
«stylesheet»
منبع را بهعنوان برگه سبک نگارش مشخص میکند.
«script»
منبع را بهعنوان اسکریپت مشخص میکند.
«image»
منبع را بهعنوان تصویر مشخص میکند.
«قلم»
منبع را بهعنوان قلم مشخص میکند.
"object"
منبع را بهعنوان شیء مشخص میکند.
«xmlhttprequest»
منبع را بهعنوان XMLHttpRequest مشخص میکند.
"ping"
منبع را بهعنوان پینگ مشخص میکند.
"csp_report"
منبع را بهعنوان گزارش «خطمشی امنیتی محتوا» (CSP) مشخص میکند.
«media»
منبع را بهعنوان شیء رسانهای مشخص میکند.
«websocket»
منبع را بهعنوان WebSocket مشخص میکند.
«webbundle»
منبع را بهعنوان WebBundle مشخص میکند.
«other»
منبع را بهعنوان نوعی مشخص میکند که در انواع فهرستشده گنجانده نشده است.
SecurityInfo
مشخصات
-
گواهینامهها
object[]
فهرست گواهینامهها
-
اثر انگشت
شیء
اثر انگشتهای گواهینامه.
-
sha256
رشته
اثر انگشت sha256 گواهینامه.
-
-
rawDER
ArrayBuffer اختیاری
بایتهای خام گواهی سرور کدگذاریشده DER
-
-
ایالت
رشته
وضعیت اتصال. یکی از موارد امن، ناامن، خراب.
UploadData
حاوی دادههای بارگذاریشده در درخواست نشانی وب است.
مشخصات
-
بایت
هر اختیاری
یک ArrayBuffer با کپی دادهها.
-
فایل
رشته اختیاری
رشتهای با مسیر و نام فایل.
مشخصات
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
حداکثر تعداد دفعاتی که handlerBehaviorChanged میتواند در هر فاصله زمانی پایدار ۱۰ دقیقهای فراخوانی شود. handlerBehaviorChanged یک فراخوانی تابع پرهزینه است که نباید اغلب فراخوانی شود.
مقدار
20
روشها
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
): Promise<void>
وقتی رفتار گردانندههای webRequest تغییر کرده است، باید فراخوانی شود تا از گرداندن نادرست بهدلیل ذخیرهسازی در حافظه نهان جلوگیری شود. این فراخوانی تابع پرهزینه است. زیاد با آن تماس نگیرید.
پارامترها
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۱۱۶ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
رویدادها
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
وقتی اصلاح پیشنهادی افزونه برای درخواست شبکه نادیده گرفته شود، فعال میشود. این اتفاق درصورت تداخل با افزونههای دیگر رخ میدهد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
کنش پیشنهادی که نادیده گرفته شده است.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
وقتی خطای اصالتسنجی دریافت شود، فعال میشود. شنونده سه گزینه دارد: میتواند اعتبارنامههای اصالتسنجی را ارائه دهد، میتواند درخواست را لغو کند و صفحه خطا را نمایش دهد، یا میتواند هیچ اقدامی درخصوص چالش انجام ندهد. اگر اطلاعات کاربری نامعتبر ارائه شود، ممکن است این روش چندین بار برای یک درخواست فراخوانی شود. توجه: فقط یکی از حالتهای 'blocking' یا 'asyncBlocking' باید در پارامتر extraInfoSpec مشخص شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
جزئیات
شیء
-
رقیب
شیء
سرور درخواست اصالتسنجی میکند.
-
میزبان
رشته
-
درگاه
شماره
-
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
isProxy
بولی
True برای Proxy-Authenticate، false برای WWW-Authenticate.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
قلمرو
رشته اختیاری
قلمرو اصالتسنجی ارائهشده توسط سرور، درصورت وجود.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
responseHeaders
HttpHeaders اختیاری
سرایندهای پاسخ HTTP که همراه با این پاسخ دریافت شدهاند.
-
طرحواره
رشته
طرح اصالتسنجی، مثلاً Basic یا Digest.
-
statusCode
شماره
Chrome نسخه ۴۳ و بالاترکد وضعیت استاندارد HTTP که سرور برگردانده است.
-
statusLine
رشته
خط وضعیت HTTP پاسخ یا رشته «HTTP/0.9 200 OK» برای پاسخهای HTTP/0.9 (یعنی پاسخهایی که خط وضعیت ندارند) یا رشتهای خالی اگر سرایندی وجود نداشته باشد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
asyncCallback
تابع اختیاری
Chrome نسخه ۵۸ به بالاپارامتر
asyncCallbackبهصورت زیر است:(response: BlockingResponse) => void
-
پاسخ
-
-
returns
BlockingResponse | undefined
اگر «مسدود کردن» در پارامتر «extraInfoSpec» مشخص شده باشد، شنونده رویداد باید شیئی از این نوع را برگرداند.
-
-
فیلتر کردن
-
extraInfoSpec
OnAuthRequiredOptions[] اختیاری
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
وقتی بازهدایت آغازشده از سرور درحال وقوع باشد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
fromCache
بولی
نشان میدهد که آیا این پاسخ از حافظه نهان دیسک واکشی شده است یا نه.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
ip
رشته اختیاری
نشانی IP سروری که درخواست واقعاً به آن ارسال شده است. توجه داشته باشید که ممکن است نشانی IPv6 تحتاللفظی باشد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
redirectUrl
رشته
نشانی وب جدید.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
responseHeaders
HttpHeaders اختیاری
سرایندهای پاسخ HTTP که همراه با این تغییر مسیر دریافت شدهاند.
-
statusCode
شماره
کد وضعیت استاندارد HTTP که سرور برگردانده است.
-
statusLine
رشته
خط وضعیت HTTP پاسخ یا رشته «HTTP/0.9 200 OK» برای پاسخهای HTTP/0.9 (یعنی پاسخهایی که خط وضعیت ندارند) یا رشتهای خالی اگر سرایندی وجود نداشته باشد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
-
فیلتر کردن
-
extraInfoSpec
OnBeforeRedirectOptions[] اختیاری
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
وقتی درخواستی درحال وقوع باشد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => BlockingResponse | undefined
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycle
extensionTypes.DocumentLifecycle اختیاری
Chrome نسخه ۱۰۶ و بالاترچرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameType
extensionTypes.FrameType اختیاری
Chrome نسخه ۱۰۶ و بالاترنوع قابی که درخواست در آن رخ داده است.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestBody
شیء اختیاری
حاوی دادههای بدنه درخواست HTTP است. فقط درصورتی ارائه میشود که extraInfoSpec حاوی «requestBody» باشد.
-
خطا
رشته اختیاری
خطا هنگام دریافت دادههای بدنه درخواست.
-
formData
شیء اختیاری
اگر روش درخواست POST باشد و بدنه دنبالهای از جفتهای کلید-مقدار کدگذاریشده در UTF8 باشد، که بهصورت multipart/form-data یا application/x-www-form-urlencoded کدگذاری شده است، این فرهنگ لغت وجود دارد و برای هر کلید حاوی فهرست همه مقادیر آن کلید است. اگر دادهها از نوع رسانه دیگری باشد، یا اگر بدشکل باشد، واژهنامه وجود ندارد. مقدار نمونه این واژهنامه {'key': ['value1', 'value2']} است.
-
خام
UploadData[] اختیاری
اگر روش درخواست PUT یا POST باشد و بدنه قبلاً در formData تجزیه نشده باشد، عناصر تجزیهنشده بدنه درخواست در این آرایه قرار میگیرند.
-
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
returns
BlockingResponse | undefined
اگر «مسدود کردن» در پارامتر «extraInfoSpec» مشخص شده باشد، شنونده رویداد باید شیئی از این نوع را برگرداند.
-
-
فیلتر کردن
-
extraInfoSpec
OnBeforeRequestOptions[] اختیاری
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
وقتی سرصفحههای درخواست دردسترس باشند، پیشاز ارسال درخواست اچتیتیپی فعال میشود. این خطا ممکن است پساز برقراری اتصال TCP به سرور، اما قبلاز ارسال هرگونه داده HTTP رخ دهد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => BlockingResponse | undefined
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestHeaders
HttpHeaders اختیاری
سرصفحههای درخواست اچتیتیپی که قرار است با این درخواست ارسال شوند.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
returns
BlockingResponse | undefined
اگر «مسدود کردن» در پارامتر «extraInfoSpec» مشخص شده باشد، شنونده رویداد باید شیئی از این نوع را برگرداند.
-
-
فیلتر کردن
-
extraInfoSpec
OnBeforeSendHeadersOptions[] اختیاری
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
وقتی درخواستی تکمیل میشود، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
fromCache
بولی
نشان میدهد که آیا این پاسخ از حافظه نهان دیسک واکشی شده است یا نه.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
ip
رشته اختیاری
نشانی IP سروری که درخواست واقعاً به آن ارسال شده است. توجه داشته باشید که ممکن است نشانی IPv6 تحتاللفظی باشد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
responseHeaders
HttpHeaders اختیاری
سرایندهای پاسخ HTTP که همراه با این پاسخ دریافت شدهاند.
-
statusCode
شماره
کد وضعیت استاندارد HTTP که سرور برگردانده است.
-
statusLine
رشته
خط وضعیت HTTP پاسخ یا رشته «HTTP/0.9 200 OK» برای پاسخهای HTTP/0.9 (یعنی پاسخهایی که خط وضعیت ندارند) یا رشتهای خالی اگر سرایندی وجود نداشته باشد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
-
فیلتر کردن
-
extraInfoSpec
OnCompletedOptions[] اختیاری
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
وقتی خطایی رخ میدهد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست. اگر درخواست پیمایش قاب باشد، این مقدار وجود ندارد.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
خطا
رشته
توضیح خطا. تضمین نمیشود که این رشته بین نسخههای پخش سازگار با نسخههای قدیمی باقی بماند. نباید آن را تجزیه کنید و براساس محتوای آن عمل کنید.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
fromCache
بولی
نشان میدهد که آیا این پاسخ از حافظه نهان دیسک واکشی شده است یا نه.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
ip
رشته اختیاری
نشانی IP سروری که درخواست واقعاً به آن ارسال شده است. توجه داشته باشید که ممکن است نشانی IPv6 تحتاللفظی باشد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
-
فیلتر کردن
-
extraInfoSpec
OnErrorOccurredOptions[] اختیاری
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
وقتی سرایندهای پاسخ HTTP درخواست دریافت شده باشد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => BlockingResponse | undefined
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
responseHeaders
HttpHeaders اختیاری
سرایندهای پاسخ HTTP که با این پاسخ دریافت شدهاند.
-
securityInfo
SecurityInfo اختیاری
Chrome نسخه ۱۴۴ و بالاتراطلاعات مربوط به اتصال TLS/QUIC که برای اتصال زیربنایی استفاده میشود. فقط درصورتی ارائه میشود که
securityInfoدر پارامترextraInfoSpecمشخص شده باشد. -
statusCode
شماره
Chrome نسخه ۴۳ و بالاترکد وضعیت استاندارد HTTP که سرور برگردانده است.
-
statusLine
رشته
خط وضعیت HTTP پاسخ یا رشته «HTTP/0.9 200 OK» برای پاسخهای HTTP/0.9 (یعنی پاسخهایی که خط وضعیت ندارند).
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
returns
BlockingResponse | undefined
اگر «مسدود کردن» در پارامتر «extraInfoSpec» مشخص شده باشد، شنونده رویداد باید شیئی از این نوع را برگرداند.
-
-
فیلتر کردن
-
extraInfoSpec
OnHeadersReceivedOptions[] اختیاری
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
وقتی اولین بایت بدنه پاسخ دریافت میشود، فعال میشود. برای درخواستهای HTTP، این یعنی خط وضعیت و سرایندهای پاسخ دردسترس هستند.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
fromCache
بولی
نشان میدهد که آیا این پاسخ از حافظه نهان دیسک واکشی شده است یا نه.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
ip
رشته اختیاری
نشانی IP سروری که درخواست واقعاً به آن ارسال شده است. توجه داشته باشید که ممکن است نشانی IPv6 تحتاللفظی باشد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
responseHeaders
HttpHeaders اختیاری
سرایندهای پاسخ HTTP که همراه با این پاسخ دریافت شدهاند.
-
statusCode
شماره
کد وضعیت استاندارد HTTP که سرور برگردانده است.
-
statusLine
رشته
خط وضعیت HTTP پاسخ یا رشته «HTTP/0.9 200 OK» برای پاسخهای HTTP/0.9 (یعنی پاسخهایی که خط وضعیت ندارند) یا رشتهای خالی اگر سرایندی وجود نداشته باشد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
-
فیلتر کردن
-
extraInfoSpec
OnResponseStartedOptions[] اختیاری
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
درست قبلاز ارسال درخواست به سرور فعال میشود (اصلاحات فراخوانهای قبلی onBeforeSendHeaders تا زمان فعال شدن onSendHeaders قابلمشاهده است).
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
documentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ارائهدهنده درخواست.
-
documentLifecycleChrome نسخه ۱۰۶ و بالاتر
چرخه حیاتی که سند در آن قرار دارد.
-
frameId
شماره
مقدار ۰ نشان میدهد که درخواست در قاب اصلی اتفاق میافتد؛ مقدار مثبت نشاندهنده شناسه قاب فرعی است که درخواست در آن اتفاق میافتد. اگر سند یک (زیر)قاب بار شود (
typemain_frameیاsub_frameاست)،frameIdشناسه این قاب را نشان میدهد، نه شناسه قاب بیرونی را. شناسههای قاب در هر برگه یکتا هستند. -
frameTypeChrome نسخه ۱۰۶ و بالاتر
نوع قابی که درخواست در آن رخ داده است.
-
آغازگر
رشته اختیاری
Chrome نسخه ۶۳ و بالاترمبدأی که درخواست از آنجا آغاز شده است. این مورد با تغییر مسیر تغییر نمیکند. اگر این مبدأ مبهم باشد، از رشته «null» استفاده خواهد شد.
-
روش
رشته
روش HTTP استاندارد.
-
parentDocumentId
رشته اختیاری
Chrome نسخه ۱۰۶ و بالاترشناسه UUID سند ولی که مالک این قاب است. اگر والدی وجود نداشته باشد، این تنظیم نمیشود.
-
parentFrameId
شماره
شناسه قابی که قاب ارسالکننده درخواست را دربرمیگیرد. اگر قاب ولی وجود نداشته باشد، روی ۱- تنظیم میشود.
-
requestHeaders
HttpHeaders اختیاری
سرصفحههای درخواست اچتیتیپی که با این درخواست ارسال شدهاند.
-
requestId
رشته
شناسه درخواست. شناسههای درخواست در یک جلسه مرورگر منحصربهفرد هستند. درنتیجه، میتوان از آنها برای مرتبط کردن رویدادهای مختلف یک درخواست استفاده کرد.
-
tabId
شماره
شناسه زبانهای که درخواست در آن انجام میشود. اگر درخواست به برگهای مربوط نیست، روی -1 تنظیم کنید.
-
timeStamp
شماره
زمان راهاندازی این سیگنال، برحسب میلیثانیه از تاریخ.
-
نوع
نحوه استفاده از منبع درخواستشده.
-
نشانی وب
رشته
-
-
-
فیلتر کردن
-
extraInfoSpec
OnSendHeadersOptions[] اختیاری