chrome.types

תאריך הרענון: 2026-09-25 robots: noindex

תיאור

‫chrome.types API מכיל הצהרות על סוגים ב-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

          ‫boolean אופציונלי

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

        • levelOfControl

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

        • ערך

          T

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

  • נקה

    void

    Promise

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

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

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

    • פרטים

      אובייקט

      איזו הגדרה רוצים לנקות.

      • היקף

        ‫ChromeSettingScope optional

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

    • callback

      פונקציה אופציונלית

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

      () => void

    • החזרות

      Promise<void>

      ‫Chrome 96 ואילך

      הפונקציה נקראת בסיום פעולת הניקוי.

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

  • get

    void

    Promise

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

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

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

    • פרטים

      אובייקט

      איזו הגדרה כדאי לקחת בחשבון.

      • פרטי

        ‫boolean אופציונלי

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

    • callback

      פונקציה אופציונלית

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

      (details: object) => void

      • פרטים

        אובייקט

        פרטים של הערך שבתוקף כרגע.

        • incognitoSpecific

          ‫boolean אופציונלי

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

        • levelOfControl

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

        • ערך

          T

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

    • החזרות

      Promise<object>

      ‫Chrome 96 ואילך

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

  • הוגדר

    void

    Promise

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

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

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

    • פרטים

      אובייקט

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

      • היקף

        ‫ChromeSettingScope optional

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

      • ערך

        T

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

    • callback

      פונקציה אופציונלית

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

      () => void

    • החזרות

      Promise<void>

      ‫Chrome 96 ואילך

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

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

ChromeSettingScope

‫Chrome 44 ואילך

ההיקף של ChromeSetting. אחת מהאפשרויות

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

ספירה

'רגיל'

‫'regular_only'

‫"incognito_persistent"

‫"incognito_session_only"

LevelOfControl

‫Chrome 44 ואילך

אחת מהאפשרויות

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

ספירה

‫‎"not_controllable"

‫"controlled_by_other_extensions"

‫"controllable_by_this_extension"

‫"controlled_by_this_extension"