chrome.webNavigation

توضیحات

از chrome.webNavigation API برای دریافت اعلان‌های مربوط به وضعیت درخواست‌های ناوبری در حین پرواز استفاده کنید.

مجوزها

webNavigation

همه روش‌ها و رویدادهای chrome.webNavigation از شما می‌خواهند مجوز "webNavigation" در مانیفست افزونه اعلام کنید. به عنوان مثال:

{
  "name": "My extension",
  ...
  "permissions": [
    "webNavigation"
  ],
  ...
}

مفاهیم و کاربرد

سفارش رویداد

برای پیمایشی که با موفقیت انجام شده است، رویدادها به ترتیب زیر فعال می شوند:

onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted

هر خطایی که در طول فرآیند رخ دهد منجر به یک رویداد onErrorOccurred می شود. برای یک پیمایش خاص، هیچ رویداد دیگری پس از onErrorOccurred اجرا نمی شود.

اگر یک قاب ناوبری حاوی فریم فرعی باشد، onCommitted آن قبل از هر یک از onBeforeNavigate فرزندانش فعال می شود. در حالی که onCompleted بعد از همه فرزندانش onCompleted فعال می شود.

اگر قطعه مرجع یک فریم تغییر کند، رویداد onReferenceFragmentUpdated فعال می شود. این رویداد می‌تواند در هر زمانی پس از onDOMContentLoaded ، حتی پس از onCompleted فعال شود.

اگر تاریخچه API برای تغییر وضعیت یک فریم استفاده شود (مثلاً با استفاده از history.pushState() یک رویداد onHistoryStateUpdated فعال می‌شود. این رویداد می‌تواند هر زمانی پس از onDOMContentLoaded فعال شود.

اگر پیمایش صفحه‌ای را از حافظه پنهان Back Forward بازیابی کرد، رویداد onDOMContentLoaded فعال نمی‌شود. این رویداد فعال نمی شود زیرا محتوا قبلاً بارگیری شده است که برای اولین بار از صفحه بازدید شده است.

اگر پیمایشی با استفاده از Chrome Instant یا Instant Pages راه‌اندازی شده باشد، یک صفحه کاملاً بارگیری شده در برگه فعلی جایگزین می‌شود. در آن صورت، یک رویداد onTabReplaced فعال می شود.

ارتباط با رویدادهای webRequest

هیچ ترتیب مشخصی بین رویدادهای webRequest API و رویدادهای webNavigation API وجود ندارد. این امکان وجود دارد که رویدادهای webRequest همچنان برای فریم‌هایی که پیمایش جدیدی را شروع کرده‌اند دریافت می‌کنند، یا اینکه پیمایش تنها پس از بارگیری کامل منابع شبکه انجام می‌شود.

به طور کلی، رویدادهای webNavigation ارتباط نزدیکی با وضعیت ناوبری که در رابط کاربری نمایش داده می‌شود، دارند، در حالی که رویدادهای webRequest مربوط به وضعیت پشته شبکه است که عموماً برای کاربر غیر شفاف است.

شناسه برگه ها

همه برگه‌های پیمایش با برگه‌های واقعی در رابط کاربری Chrome مطابقت ندارند، به عنوان مثال، برگه‌ای که از قبل ارائه می‌شود. چنین برگه‌هایی با استفاده از تب‌های API قابل دسترسی نیستند و نمی‌توانید با فراخوانی webNavigation.getFrame() یا webNavigation.getAllFrames() اطلاعاتی درباره آنها درخواست کنید. هنگامی که چنین برگه ای جابجا می شود، رویداد onTabReplaced فعال می شود و از طریق این API ها قابل دسترسی می شوند.

مهرهای زمانی

توجه به این نکته مهم است که برخی از موارد عجیب و غریب فنی در مدیریت سیستم‌عامل فرآیندهای کروم متمایز می‌تواند باعث شود که ساعت بین خود مرورگر و فرآیندهای افزونه منحرف شود. این بدان معناست که خاصیت timeStamp ویژگی timeStamp رویداد WebNavigation تنها تضمین شده است که به صورت داخلی سازگار باشد. مقایسه یک رویداد با رویداد دیگر به شما افست صحیح بین آنها را می دهد، اما مقایسه آنها با زمان فعلی در داخل برنامه افزودنی (مثلاً با استفاده از (new Date()).getTime() ) ممکن است نتایج غیرمنتظره ای به همراه داشته باشد.

شناسه های قاب

فریم های داخل یک برگه را می توان با شناسه فریم شناسایی کرد. شناسه فریم فریم اصلی همیشه 0 است، شناسه فریم های فرزند یک عدد مثبت است. هنگامی که یک سند در یک قاب ساخته می شود، شناسه فریم آن در طول عمر سند ثابت می ماند. از Chrome 49، این شناسه همچنین برای طول عمر فریم (در چندین مسیریابی) ثابت است.

به دلیل ماهیت چند فرآیندی Chrome، یک برگه ممکن است از فرآیندهای مختلفی برای ارائه منبع و مقصد یک صفحه وب استفاده کند. بنابراین، اگر یک پیمایش در یک فرآیند جدید انجام شود، ممکن است رویدادها را هم از صفحه جدید و هم از صفحه قدیمی دریافت کنید تا زمانی که پیمایش جدید انجام شود (یعنی رویداد onCommitted برای فریم اصلی جدید ارسال شود). به عبارت دیگر، ممکن است بیش از یک دنباله معلق از رویدادهای webNavigation با یک frameId داشته باشیم. توالی ها را می توان با کلید processId تشخیص داد.

همچنین توجه داشته باشید که در طول یک بار موقت، ممکن است فرآیند چندین بار تغییر کند. این زمانی اتفاق می افتد که بار به سایت دیگری هدایت شود. در این صورت، رویدادهای onBeforeNavigate و onErrorOccurred مکرر را دریافت خواهید کرد، تا زمانی که رویداد نهایی onCommitted را دریافت کنید.

مفهوم دیگری که با افزونه ها مشکل ساز است، چرخه عمر قاب است. یک فریم میزبان یک سند (که با یک URL متعهد مرتبط است). سند می‌تواند تغییر کند (مثلاً با پیمایش) اما FrameId تغییر نمی‌کند، و بنابراین دشوار است که چیزی در یک سند خاص با frameIds مرتبط شود. ما در حال معرفی مفهوم documentId هستیم که یک شناسه منحصر به فرد در هر سند است. اگر یک فریم پیمایش شود و یک سند جدید باز شود، شناسه تغییر خواهد کرد. این فیلد برای تعیین زمان تغییر وضعیت چرخه عمر صفحات (بین prerender/active/cache) مفید است زیرا ثابت می ماند.

انواع انتقال و واجد شرایط

رویداد webNavigation onCommitted دارای ویژگی transitionType و transitionQualifiers است. نوع انتقال همان است که در API تاریخچه استفاده شده است و نحوه پیمایش مرورگر به این URL خاص را توضیح می دهد. علاوه بر این، چندین واجد شرایط انتقال را می توان برگرداند که ناوبری را بیشتر تعریف می کند.

واجد شرایط انتقال زیر وجود دارد:

مقدماتی انتقال توضیحات
"client_redirect" یک یا چند تغییرمسیر ناشی از جاوا اسکریپت یا تگ‌های تازه‌سازی متا در صفحه در حین پیمایش اتفاق افتاد.
"server_redirect" یک یا چند تغییر مسیر ناشی از هدرهای HTTP ارسال شده از سرور در حین پیمایش اتفاق افتاده است.
"forward_back" کاربر از دکمه Forward یا Back برای شروع ناوبری استفاده کرد.
"from_address_bar" کاربر پیمایش را از نوار آدرس (با نام مستعار Omnibox) آغاز کرد.

نمونه ها

برای امتحان این API، نمونه webNavigation API را از مخزن chrome-extension-samples نصب کنید.

انواع

TransitionQualifier

Chrome 44+

Enum

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

Chrome 44+

علت ناوبری از همان انواع انتقال تعریف شده در تاریخچه API استفاده می شود. اینها همان نوع انتقالی هستند که در API تاریخچه تعریف شده اند، به جز با "start_page" به جای "auto_toplevel" (برای سازگاری با عقب).

Enum

"پیوند"

"تایپ شده"

"auto_bookmark"

"auto_subframe"

"subframe_manual"

"تولید شده"

"صفحه_شروع"

"form_submit"

"بارگذاری مجدد"

"کلید واژه"

"keyword_generated"

روش ها

getAllFrames()

قول بده
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)

اطلاعات مربوط به تمام فریم های یک برگه معین را بازیابی می کند.

پارامترها

  • جزئیات

    شی

    اطلاعات مربوط به برگه برای بازیابی همه فریم ها.

    • tabId

      شماره

      شناسه برگه

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (details?: object[]) => void

    • جزئیات

      شی[] اختیاری

      لیستی از فریم ها در برگه داده شده، اگر شناسه برگه مشخص شده نامعتبر باشد، خالی است.

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • documentLifecycle
        Chrome 106+

        چرخه عمر سند در آن است.

      • خطا رخ داد

        بولی

        درست است اگر آخرین پیمایش در این فریم با یک خطا قطع شده باشد، یعنی رویداد onErrorOccurred فعال شود.

      • frameId

        شماره

        شناسه قاب 0 نشان می دهد که این قاب اصلی است. یک مقدار مثبت نشان دهنده شناسه یک زیرفریم است.

      • نوع قاب
        Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        شناسه فرآیندی که رندر این فریم را اجرا می کند.

      • آدرس اینترنتی

        رشته

        URL در حال حاضر مرتبط با این قاب است.

برمی گرداند

  • وعده<object[] | تعریف نشده>

    Chrome 93+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getFrame()

قول بده
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)

اطلاعات مربوط به فریم داده شده را بازیابی می کند. فریم به <iframe> یا <frame> یک صفحه وب اشاره دارد و با شناسه برگه و شناسه فریم مشخص می شود.

پارامترها

  • جزئیات

    شی

    اطلاعات مربوط به قاب برای بازیابی اطلاعات در مورد.

    • شناسه سند

      رشته اختیاری

      Chrome 106+

      UUID سند. اگر FrameId و/یا tabId ارائه شود، برای مطابقت با سند یافت شده توسط شناسه سند ارائه شده، اعتبارسنجی می شود.

    • frameId

      شماره اختیاری

      شناسه فریم در تب داده شده.

    • شناسه فرآیند

      شماره اختیاری

      از Chrome 49 منسوخ شده است

      اکنون فریم‌ها به‌طور منحصربه‌فرد با شناسه تب و شناسه فریم‌شان شناسایی می‌شوند. شناسه فرآیند دیگر مورد نیاز نیست و بنابراین نادیده گرفته می شود.

      شناسه فرآیندی که رندر این برگه را اجرا می کند.

    • tabId

      شماره اختیاری

      شناسه برگه ای که قاب در آن قرار دارد.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (details?: object) => void

    • جزئیات

      شی اختیاری

      اطلاعات مربوط به قاب درخواستی، اگر شناسه قاب و/یا شناسه برگه مشخص شده نامعتبر باشد، خالی است.

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • documentLifecycle
        Chrome 106+

        چرخه عمر سند در آن است.

      • خطا رخ داد

        بولی

        درست است اگر آخرین پیمایش در این فریم با یک خطا قطع شده باشد، یعنی رویداد onErrorOccurred فعال شود.

      • نوع قاب
        Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • آدرس اینترنتی

        رشته

        URL در حال حاضر مرتبط با این فریم است، اگر فریم شناسایی شده توسط FrameId در یک نقطه در برگه داده شده وجود داشته باشد. این واقعیت که یک URL با یک FrameId معین مرتبط است به این معنی نیست که فریم مربوطه هنوز وجود دارد.

برمی گرداند

  • وعده<object | تعریف نشده>

    Chrome 93+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

رویدادها

onBeforeNavigate

chrome.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

هنگامی که یک ناوبری در شرف وقوع است فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • Chrome 106+

        چرخه عمر سند در آن است.

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم برای یک برگه و فرآیند خاص منحصر به فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        از Chrome 50 منسوخ شده است

        processId دیگر برای این رویداد تنظیم نشده است، زیرا فرآیندی که سند حاصل را ارائه می‌کند تا زمان onCommit مشخص نیست.

        مقدار -1.

      • tabId

        شماره

        شناسه برگه ای که قرار است پیمایش در آن انجام شود.

      • مهر زمان

        شماره

        زمانی که مرورگر قرار بود ناوبری را شروع کند، در میلی ثانیه از آن دوران.

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onCommitted

chrome.webNavigation.onCommitted.addListener(
  callback: function,
  filters?: object,
)

هنگامی که یک ناوبری انجام می شود شلیک می شود. ممکن است سند (و منابعی که به آن ارجاع می‌دهد، مانند تصاویر و فریم‌های فرعی) هنوز در حال بارگیری باشد، اما حداقل بخشی از سند از سرور دریافت شده است و مرورگر تصمیم گرفته است به سند جدید سوئیچ کند.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • Chrome 106+

        چرخه عمر سند در آن است.

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم در یک برگه منحصربه‌فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        Chrome 74+

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        شناسه فرآیندی که رندر این فریم را اجرا می کند.

      • tabId

        شماره

        شناسه برگه ای که پیمایش در آن انجام می شود.

      • مهر زمان

        شماره

        زمانی که ناوبری انجام شد، در میلی ثانیه از آن دوران.

      • transition Qualifiers

        لیستی از مقدماتی انتقال.

      • نوع transition

        علت ناوبری

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onCompleted

chrome.webNavigation.onCompleted.addListener(
  callback: function,
  filters?: object,
)

زمانی فعال می شود که یک سند، از جمله منابعی که به آن اشاره دارد، به طور کامل بارگیری و مقداردهی اولیه شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • Chrome 106+

        چرخه عمر سند در آن است.

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم در یک برگه منحصربه‌فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        Chrome 74+

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        شناسه فرآیندی که رندر این فریم را اجرا می کند.

      • tabId

        شماره

        شناسه برگه ای که پیمایش در آن انجام می شود.

      • مهر زمان

        شماره

        زمانی که بارگیری سند به پایان رسید، در میلی ثانیه از آن دوره.

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onCreatedNavigationTarget

chrome.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

هنگامی که یک پنجره جدید، یا یک برگه جدید در یک پنجره موجود، برای میزبانی یک ناوبری ایجاد می شود، فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • sourceFrameId

        شماره

        شناسه قاب با sourceTabId که پیمایش در آن راه اندازی می شود. 0 نشان دهنده فریم اصلی است.

      • sourceProcessId

        شماره

        شناسه فرآیندی که رندر فریم منبع را اجرا می کند.

      • sourceTabId

        شماره

        شناسه برگه ای که پیمایش در آن فعال می شود.

      • tabId

        شماره

        شناسه برگه ای که آدرس اینترنتی در آن باز می شود

      • مهر زمان

        شماره

        زمانی که مرورگر در حال ایجاد یک نمای جدید، در میلی ثانیه از آن دوران بود.

      • آدرس اینترنتی

        رشته

        URL که در پنجره جدید باز می شود.

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onDOMContentLoaded

chrome.webNavigation.onDOMContentLoaded.addListener(
  callback: function,
  filters?: object,
)

هنگامی که DOM صفحه به طور کامل ساخته می شود فعال می شود، اما ممکن است منابع ارجاع شده بارگذاری تمام نشود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • Chrome 106+

        چرخه عمر سند در آن است.

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم در یک برگه منحصربه‌فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        Chrome 74+

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        شناسه فرآیندی که رندر این فریم را اجرا می کند.

      • tabId

        شماره

        شناسه برگه ای که پیمایش در آن انجام می شود.

      • مهر زمان

        شماره

        زمانی که DOM صفحه به طور کامل ساخته شد، در میلی ثانیه از آن دوران.

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onErrorOccurred

chrome.webNavigation.onErrorOccurred.addListener(
  callback: function,
  filters?: object,
)

هنگامی که خطایی رخ می دهد و ناوبری متوقف می شود، فعال می شود. اگر خطای شبکه رخ داده باشد یا کاربر ناوبری را لغو کند، ممکن است این اتفاق بیفتد.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • Chrome 106+

        چرخه عمر سند در آن است.

      • خطا

        رشته

        شرح خطا

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم در یک برگه منحصربه‌فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        Chrome 74+

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        از Chrome 50 منسوخ شده است

        processId دیگر برای این رویداد تنظیم نشده است.

        مقدار -1.

      • tabId

        شماره

        شناسه برگه ای که پیمایش در آن انجام می شود.

      • مهر زمان

        شماره

        زمانی که خطا رخ داد، در میلی ثانیه از آن دوران.

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onHistoryStateUpdated

chrome.webNavigation.onHistoryStateUpdated.addListener(
  callback: function,
  filters?: object,
)

وقتی تاریخچه قاب به یک URL جدید به‌روزرسانی شد، فعال شد. همه رویدادهای آینده برای آن قاب از URL به روز شده استفاده خواهند کرد.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • Chrome 106+

        چرخه عمر سند در آن است.

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم در یک برگه منحصربه‌فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        Chrome 74+

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        شناسه فرآیندی که رندر این فریم را اجرا می کند.

      • tabId

        شماره

        شناسه برگه ای که پیمایش در آن انجام می شود.

      • مهر زمان

        شماره

        زمانی که ناوبری انجام شد، در میلی ثانیه از آن دوران.

      • transition Qualifiers

        لیستی از مقدماتی انتقال.

      • نوع transition

        علت ناوبری

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onReferenceFragmentUpdated

chrome.webNavigation.onReferenceFragmentUpdated.addListener(
  callback: function,
  filters?: object,
)

هنگامی که قطعه مرجع یک فریم به روز شد، فعال شد. همه رویدادهای آینده برای آن قاب از URL به روز شده استفاده خواهند کرد.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • شناسه سند

        رشته

        Chrome 106+

        یک UUID از سند بارگیری شده است.

      • Chrome 106+

        چرخه عمر سند در آن است.

      • frameId

        شماره

        0 نشان می دهد که پیمایش در پنجره محتوای برگه انجام می شود. یک مقدار مثبت نشان دهنده ناوبری در یک زیر فریم است. شناسه‌های فریم در یک برگه منحصربه‌فرد هستند.

      • Chrome 106+

        نوع کادری که پیمایش در آن انجام شده است.

      • parentDocumentId

        رشته اختیاری

        Chrome 106+

        UUID سند والد مالک این قاب. اگر والد وجود نداشته باشد، این تنظیم نشده است.

      • parentFrameId

        شماره

        Chrome 74+

        شناسه فریم والد، یا -1 اگر این فریم اصلی است.

      • شناسه فرآیند

        شماره

        شناسه فرآیندی که رندر این فریم را اجرا می کند.

      • tabId

        شماره

        شناسه برگه ای که پیمایش در آن انجام می شود.

      • مهر زمان

        شماره

        زمانی که ناوبری انجام شد، در میلی ثانیه از آن دوران.

      • transition Qualifiers

        لیستی از مقدماتی انتقال.

      • نوع transition

        علت ناوبری

      • آدرس اینترنتی

        رشته

  • فیلترها

    شی اختیاری

    • آدرس اینترنتی

      شرایطی که URL مورد پیمایش باید رعایت کند. فیلدهای «طرح‌ها» و «پورت‌ها» UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onTabReplaced

chrome.webNavigation.onTabReplaced.addListener(
  callback: function,
)

هنگامی که محتویات برگه با یک برگه متفاوت (معمولاً قبلاً از قبل رندر شده) جایگزین می شود، فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (details: object) => void

    • جزئیات

      شی

      • جایگزین TabId

        شماره

        شناسه برگه ای که جایگزین شد.

      • tabId

        شماره

        شناسه برگه ای که جایگزین برگه قدیمی شده است.

      • مهر زمان

        شماره

        زمانی که جایگزینی اتفاق افتاد، در میلی ثانیه از آن دوران.