chrome.webNavigation

توضیحات

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

مجوزها

webNavigation

مانیفست

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

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

ترتیب رویداد

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

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

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

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

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

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

اگر یک ناوبری، صفحه‌ای را از Back Forward Cache بازیابی کند، رویداد onDOMContentLoaded اجرا نخواهد شد. این رویداد اجرا نمی‌شود زیرا محتوا هنگام اولین بازدید از صفحه، بارگذاری شده است.

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

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

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

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

شناسه‌های برگه

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

مهرهای زمانی

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

شناسه‌های فریم

فریم‌های درون یک تب را می‌توان با یک شناسه فریم شناسایی کرد. شناسه فریم فریم اصلی همیشه ۰ است، شناسه فریم‌های فرزند یک عدد مثبت است. هنگامی که یک سند در یک فریم ساخته می‌شود، شناسه فریم آن در طول عمر سند ثابت می‌ماند. از کروم ۴۹، این شناسه همچنین در طول عمر فریم (در چندین پیمایش) ثابت است.

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

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

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

انواع انتقال و توصیف‌کننده‌ها

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

توصیف‌کننده‌های انتقال زیر وجود دارند:

مرحله مقدماتی انتقال توضیحات
"هدایت_مشتری" یک یا چند تغییر مسیر ناشی از جاوا اسکریپت یا تگ‌های متا رفرش در صفحه، در حین پیمایش رخ داده است.
"هدایت_سرور" یک یا چند تغییر مسیر ناشی از هدرهای HTTP ارسال شده از سرور در حین پیمایش رخ داده است.
"جلو_عقب" کاربر از دکمه‌های جلو یا عقب برای شروع پیمایش استفاده کرده است.
"از_نوار_آدرس" کاربر پیمایش را از نوار آدرس (معروف به Omnibox) آغاز کرده است.

مثال‌ها

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

انواع

TransitionQualifier

کروم ۴۴+

شمارشی

"هدایت_مشتری"

"هدایت_سرور"

"جلو_عقب"

"از_نوار_آدرس"

TransitionType

کروم ۴۴+

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

شمارشی

«پیوند»

"تایپ شده"

"نشانه‌گذاری خودکار"

"زیرفریم خودکار"

"زیرفریم_دستی"

"تولید شده"

"صفحه_شروع"

"فرم_ارسال"

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

«کلمه کلیدی»

"کلمه کلیدی_تولید شده"

روش‌ها

getAllFrames()

وعده
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)
: Promise<object[] | undefined>

اطلاعات مربوط به تمام فریم‌های یک تب مشخص را بازیابی می‌کند.

پارامترها

  • جزئیات

    شیء

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

    • شناسه برگه

      شماره

      شناسه‌ی برگه.

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (details?: object[]) => void

    • جزئیات

      شیء[] اختیاری

      فهرستی از فریم‌های موجود در برگه داده شده، که در صورت نامعتبر بودن شناسه برگه مشخص شده، مقدار آن null است.

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • خطا رخ داد

        بولی

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

      • شناسه قاب

        شماره

        شناسه فریم. عدد ۰ نشان می‌دهد که این فریم اصلی است؛ مقدار مثبت نشان دهنده شناسه یک زیرفریم است.

      • نوع قاب
        کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

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

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

        شماره

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

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

        رشته

        URL که در حال حاضر با این فریم مرتبط است.

بازگشت‌ها

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

    کروم ۹۳+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getFrame()

وعده
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)
: Promise<object | undefined>

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

پارامترها

  • جزئیات

    شیء

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

    • شناسه سند

      رشته اختیاری

      کروم ۱۰۶+

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

    • شناسه قاب

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

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

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

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

      از نسخه ۴۹ کروم منسوخ شده است

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

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

    • شناسه برگه

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

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

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (details?: object) => void

    • جزئیات

      شیء اختیاری

      اطلاعات مربوط به فریم درخواستی، در صورتی که شناسه فریم و/یا شناسه برگه مشخص شده نامعتبر باشند، تهی (null) می‌شود.

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • خطا رخ داد

        بولی

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

      • نوع قاب
        کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

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

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

        رشته

        URL مرتبط با این فریم، در صورتی که فریم شناسایی شده توسط frameId در یک نقطه از تب داده شده وجود داشته باشد. این واقعیت که یک URL با frameId داده شده مرتبط است، به این معنی نیست که فریم مربوطه هنوز وجود دارد.

بازگشت‌ها

  • قول <object | undefined>

    کروم ۹۳+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

رویدادها

onBeforeNavigate

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

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

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

        شماره

        از زمان کروم ۵۰ منسوخ شده است

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

        مقدار -1.

      • شناسه برگه

        شماره

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

      • مهر زمانی

        شماره

        زمانی که مرورگر می‌خواست پیمایش را شروع کند، بر حسب میلی‌ثانیه از زمان شروع.

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onCommitted

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

        کروم ۷۴+

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

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

        شماره

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

      • شناسه برگه

        شماره

        شناسه‌ی برگه‌ای که پیمایش در آن رخ می‌دهد.

      • مهر زمانی

        شماره

        زمانی که ناوبری از زمان آغاز (epoch) انجام شده است، بر حسب میلی‌ثانیه.

      • گذارهای واجد شرایط

        فهرستی از شرایط گذار.

      • نوع انتقال

        علت ناوبری.

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onCompleted

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

        کروم ۷۴+

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

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

        شماره

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

      • شناسه برگه

        شماره

        شناسه‌ی برگه‌ای که پیمایش در آن رخ می‌دهد.

      • مهر زمانی

        شماره

        زمان اتمام بارگذاری سند، بر حسب میلی‌ثانیه از زمان شروع.

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onCreatedNavigationTarget

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

زمانی اجرا می‌شود که یک پنجره جدید یا یک تب جدید در یک پنجره موجود، برای میزبانی یک ناوبری ایجاد شود.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه منبع

        شماره

        شناسه‌ی فریمی که دارای sourceTabId است و ناوبری در آن فعال می‌شود. عدد ۰ نشان‌دهنده‌ی فریم اصلی است.

      • شناسه منبع فرآیند

        شماره

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

      • منبعتب آیدی

        شماره

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

      • شناسه برگه

        شماره

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

      • مهر زمانی

        شماره

        زمانی که مرورگر در شرف ایجاد یک نمای جدید بوده است، بر حسب میلی‌ثانیه از زمان شروع.

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

        رشته

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

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onDOMContentLoaded

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

        کروم ۷۴+

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

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

        شماره

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

      • شناسه برگه

        شماره

        شناسه‌ی برگه‌ای که پیمایش در آن رخ می‌دهد.

      • مهر زمانی

        شماره

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

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onErrorOccurred

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

زمانی اجرا می‌شود که خطایی رخ دهد و ناوبری متوقف شود. این اتفاق می‌تواند در صورت بروز خطای شبکه یا لغو ناوبری توسط کاربر رخ دهد.

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • خطا

        رشته

        شرح خطا.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

        کروم ۷۴+

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

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

        شماره

        از زمان کروم ۵۰ منسوخ شده است

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

        مقدار -1.

      • شناسه برگه

        شماره

        شناسه‌ی برگه‌ای که پیمایش در آن رخ می‌دهد.

      • مهر زمانی

        شماره

        زمان وقوع خطا، بر حسب میلی‌ثانیه از زمان شروع.

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onHistoryStateUpdated

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

        کروم ۷۴+

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

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

        شماره

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

      • شناسه برگه

        شماره

        شناسه‌ی برگه‌ای که پیمایش در آن رخ می‌دهد.

      • مهر زمانی

        شماره

        زمانی که ناوبری از زمان آغاز (epoch) انجام شده است، بر حسب میلی‌ثانیه.

      • گذارهای واجد شرایط

        فهرستی از شرایط گذار.

      • نوع انتقال

        علت ناوبری.

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onReferenceFragmentUpdated

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • شناسه سند

        رشته

        کروم ۱۰۶+

        شناسه کاربری (UUID) سند بارگذاری شده.

      • چرخه عمر سند
        کروم ۱۰۶+

        چرخه عمری که سند در آن قرار دارد.

      • شناسه قاب

        شماره

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

      • کروم ۱۰۶+

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

      • شناسه سند والد

        رشته اختیاری

        کروم ۱۰۶+

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

      • شناسه والدفریم

        شماره

        کروم ۷۴+

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

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

        شماره

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

      • شناسه برگه

        شماره

        شناسه‌ی برگه‌ای که پیمایش در آن رخ می‌دهد.

      • مهر زمانی

        شماره

        زمانی که ناوبری از زمان آغاز (epoch) انجام شده است، بر حسب میلی‌ثانیه.

      • گذارهای واجد شرایط

        فهرستی از شرایط گذار.

      • نوع انتقال

        علت ناوبری.

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

        رشته

  • فیلترها

    شیء اختیاری

    • شرایطی که URL مورد نظر باید برآورده کند. فیلدهای 'schemes' و 'ports' از UrlFilter برای این رویداد نادیده گرفته می‌شوند.

onTabReplaced

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

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

پارامترها

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (details: object) => void

    • جزئیات

      شیء

      • TabId جایگزین شد

        شماره

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

      • شناسه برگه

        شماره

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

      • مهر زمانی

        شماره

        زمانی که جایگزینی اتفاق افتاده است، بر حسب میلی‌ثانیه از زمان آغاز.