chrome.types

תיאור

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

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

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

    (details: object) => {...}

    • פרטים

      אובייקט

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

      • היקף

        ChromeSettingScope אופציונלי

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

    • החזרות

      Promise<void>

      Chrome 96 ואילך
  • get

    void

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

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

    (details: object) => {...}

    • פרטים

      אובייקט

      ההגדרה שצריך לקחת בחשבון.

      • מצב פרטי

        ‫boolean אופציונלי

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

    • החזרות

      Promise<object>

      Chrome 96 ואילך
  • הוגדר

    void

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

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

    (details: object) => {...}

    • פרטים

      אובייקט

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

      • היקף

        ChromeSettingScope אופציונלי

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

      • ערך

        T

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

    • החזרות

      Promise<void>

      Chrome 96 ואילך

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"

"controlled_by_this_extension"