browser.types

תיאור

ה-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

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

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

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

    • פרטים

      אובייקט

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

      • היקף

        ChromeSettingScope אופציונלי

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

    • החזרות

      Promise<void>

      ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

  • get

    void

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

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

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

    • פרטים

      אובייקט

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

      • גלישה בסתר

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

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

    • החזרות

      Promise<object>

      ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome
  • הוגדר

    void

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

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

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

    • פרטים

      אובייקט

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

      • היקף

        ChromeSettingScope אופציונלי

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

      • ערך

        T

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

    • החזרות

      Promise<void>

      ‫Chrome 96 ואילך ‫browser.* ‎ מגרסה 148 של Chrome

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

ChromeSettingScope

Chrome 44 ואילך browser.* ‎ מ-Chrome 148

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

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

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

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 ואילך browser.* ‎ מ-Chrome 148

אחת

  • ‫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"