chrome.types

refresh date: 2026-09-25 robots: noindex

תיאור

ה-API של chrome.types מכיל הצהרות על סוגים ל-Chrome.

הגדרות Chrome

אב הטיפוס ChromeSetting מספק קבוצה משותפת של פונקציות (get(),‏ set() ו-clear()) וגם מפרסם אירועים (onChange) להגדרות של דפדפן Chrome. בדוגמאות להגדרות לשרת proxy מוסבר איך להשתמש בפונקציות האלה.

היקף ודוחות מחזור חיים

ב-Chrome יש הבחנה בין שלושה היקפים שונים של הגדרות הדפדפן:

regular
הגדרות שנקבעו בהיקף regular חלות על חלונות רגילים של הדפדפן, ומועברות בירושה לחלונות פרטיים אם לא מחליפים אותן. ההגדרות האלה נשמרות בדיסק עד שהתוסף שמנהל אותן מוחק אותן, או עד שמשביתים או מסירים אותו.
incognito_persistent
הגדרות שנקבעו בהיקף incognito_persistent חלות רק על חלונות פרטיים. במקרים כאלה, הן מבטלות את ההגדרות של regular. ההגדרות האלה נשמרות בדיסק ונשארות במקומן עד שהתוסף המנהל מוחק אותן, או עד שהתוסף המנהל מושבת או מוסר.
incognito_session_only
הגדרות שנקבעו בהיקף incognito_session_only חלות רק על חלונות פרטיים. ההגדרות האלה מבטלות את ההגדרות של regular ו-incognito_persistent. ההגדרות האלה לא נשמרות בדיסק, והן נמחקות כשסוגרים את החלון הפרטי האחרון. אפשר להגדיר אותן רק כשחלון פרטי אחד לפחות פתוח.

קדימות

ב-Chrome, ההגדרות מנוהלות בשכבות שונות. ברשימה הבאה מתוארות השכבות שעשויות להשפיע על ההגדרות בפועל, בסדר קדימות עולה.

  1. הגדרות המערכת שסופקו על ידי מערכת ההפעלה
  2. פרמטרים של שורת הפקודה
  3. הגדרות שסופקו על ידי תוספים
  4. מדיניות

כפי שמשתמע מהרשימה, כללי המדיניות עשויים לבטל כל שינוי שאתם מציינים באמצעות התוסף. אפשר להשתמש בפונקציה get() כדי לקבוע אם התוסף יכול לספק הגדרה או אם ההגדרה הזו תוחלף.

כמו שצוין למעלה, ב-Chrome אפשר להשתמש בהגדרות שונות לחלונות רגילים ולחלונות פרטיים. הדוגמה הבאה ממחישה את ההתנהגות הזו. נניח שאין מדיניות שמבטלת את ההגדרות, ושתוסף יכול לקבוע הגדרות לחלונות רגילים (R) והגדרות לחלונות פרטיים (I).

  • אם רק (R) מוגדר, ההגדרות האלה תקפות גם לחלונות רגילים וגם לחלונות פרטיים.
  • אם רק (I) מוגדר, ההגדרות האלה תקפות רק לחלונות פרטיים. בחלונות רגילים, ההגדרות נקבעות לפי השכבות הנמוכות יותר (אפשרויות בשורת הפקודה והגדרות המערכת).
  • אם גם (R) וגם (I) מוגדרות, ההגדרות המתאימות משמשות לחלונות רגילים ולחלונות פרטיים.

אם שני תוספים או יותר מנסים להגדיר את אותה הגדרה לערכים שונים, התוסף שהותקן אחרון מקבל קדימות על פני התוספים האחרים. אם התוסף שהותקן לאחרונה מגדיר רק את (I), ההגדרות של חלונות רגילים יכולות להיקבע על ידי תוספים שהותקנו קודם.

הערך בפועל של הגדרה הוא הערך שמתקבל אחרי שמתחשבים בכללי הקדימות. ‫Chrome משתמש בו.

סוגים

ChromeSetting

ממשק שמאפשר גישה להגדרה של דפדפן Chrome. דוגמה מופיעה בקטע accessibilityFeatures.

מאפיינים

  • onChange

    Event<functionvoidvoid>

    מופעל אחרי שההגדרה משתנה.

    הפונקציה onChange.addListener נראית כך:

    (callback: function) => {...}

    • callback

      פונקציה

      הפרמטר callback נראה כך:

      (details: object) => void

      • פרטים

        אובייקט

        • incognitoSpecific

          בוליאני אופציונלי

          אם הערך שהשתנה ספציפי לגלישה הפרטית. המאפיין הזה יהיה קיים רק אם המשתמש הפעיל את התוסף במצב פרטי.

        • levelOfControl

          רמת השליטה בהגדרה.

        • ערך

          T

          הערך של ההגדרה אחרי השינוי.

  • נקה

    void

    Promise

    מנקה את ההגדרה ומשחזרת את ערך ברירת המחדל.

    הפונקציה clear נראית כך:

    (details: object, callback?: function) => {...}

    • פרטים

      אובייקט

      איזו הגדרה למחוק.

      • היקף

        ChromeSettingScope אופציונלי

        איפה למחוק את ההגדרה (ברירת המחדל: רגיל).

    • callback

      function optional

      הפרמטר callback נראה כך:

      () => void

    • החזרות

      Promise<void>

      ‫Chrome מגרסה 96 ואילך

      מופעלת בסיום פעולת הניקוי.

      הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

  • get

    void

    Promise

    מקבל את הערך של הגדרה.

    הפונקציה get נראית כך:

    (details: object, callback?: function) => {...}

    • פרטים

      אובייקט

      איזו הגדרה כדאי לבחור.

      • גלישה בסתר

        בוליאני אופציונלי

        אם להחזיר את הערך שחל על הגלישה הפרטית (ברירת המחדל היא false).

    • callback

      function optional

      הפרמטר callback נראה כך:

      (details: object) => void

      • פרטים

        אובייקט

        פרטים על הערך הנוכחי.

        • incognitoSpecific

          בוליאני אופציונלי

          אם הערך בפועל ספציפי לשימוש הפרטי. המאפיין הזה יהיה קיים רק אם המאפיין incognito בפרמטר details של get() היה True.

        • levelOfControl

          רמת השליטה בהגדרה.

        • ערך

          T

          הערך של ההגדרה.

    • החזרות

      Promise<object>

      ‫Chrome מגרסה 96 ואילך

      הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

  • הוגדר

    void

    Promise

    מגדירה את הערך של הגדרה.

    הפונקציה set נראית כך:

    (details: object, callback?: function) => {...}

    • פרטים

      אובייקט

      איזו הגדרה לשנות.

      • היקף

        ChromeSettingScope אופציונלי

        איפה להגדיר את ההגדרה (ברירת המחדל: רגיל).

      • ערך

        T

        הערך של ההגדרה. שימו לב שלכל הגדרה יש סוג ערך ספציפי, שמתואר יחד עם ההגדרה. תוסף לא צריך להגדיר ערך מסוג אחר.

    • callback

      function optional

      הפרמטר callback נראה כך:

      () => void

    • החזרות

      Promise<void>

      ‫Chrome מגרסה 96 ואילך

      מופעלת בסיום פעולת ההגדרה.

      הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

ChromeSettingScope

‫Chrome מגרסה 44 ואילך

ההיקף של ChromeSetting. אחת

  • regular: הגדרה לפרופיל הרגיל (שעוברת בירושה לפרופיל הפרטי אם לא מחליפים אותה במקום אחר),
  • regular\_only: הגדרה לפרופיל הרגיל בלבד (לא עוברת בירושה לפרופיל הפרטי),
  • ‫incognito\_persistent: הגדרה לפרופיל הפרטי שנשמרת גם אחרי הפעלה מחדש של הדפדפן (מבטלת את ההעדפות הרגילות),
  • ‫incognito\_session\_only: הגדרה לפרופיל הפרטי שאפשר להגדיר רק במהלך שימוש פרטי, והיא נמחקת כשהשימוש הפרטי מסתיים (מבטלת את ההעדפות הרגילות ואת ההעדפות של incognito_persistent).

טיפוסים בני מנייה (enum)

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

‫Chrome מגרסה 44 ואילך

אחת

  • ‫not\_controllable: אי אפשר לשלוט בהגדרה הזו באמצעות תוספים
  • ‫controlled\_by\_other\_extensions: נשלט על ידי תוספים עם קדימות גבוהה יותר
  • controllable\_by\_this\_extension: התוסף הזה יכול לשלוט בהגדרה הזו
  • controlled\_by\_this\_extension: נשלט על ידי התוסף הזה

טיפוסים בני מנייה (enum)

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

thought "controlled_by_this_extension"