תיאור
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 מנהל את ההגדרות בשכבות שונות. ברשימה הבאה מפורטים השכבות שיכולות להשפיע על ההגדרות בפועל, בסדר עולה של עדיפות.
- הגדרות המערכת שסופקו על ידי מערכת ההפעלה
- פרמטרים של שורת פקודה
- הגדרות שסופקו על ידי תוספים
- מדיניות
כפי שאפשר להבין מהרשימה, יכול להיות שמדיניות תבטל שינויים שציינתם באמצעות התוסף. אפשר להשתמש בפונקציה 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
ההיקף של ChromeSetting. אחד מהבאים
-
regular
: הגדרה לפרופיל הרגיל (שמועברת בירושה לפרופיל במצב אנונימי אם לא מוגדרת הגדרה אחרת במקום אחר), -
regular\_only
: הגדרה לפרופיל הרגיל בלבד (לא עוברת בירושה לפרופיל במצב אנונימי), -
incognito\_persistent
: הגדרה לפרופיל במצב פרטי שנשמרת גם אחרי הפעלה מחדש של הדפדפן (מבטלת את ההעדפות הרגילות), -
incognito\_session\_only
: הגדרה לפרופיל במצב פרטי שאפשר להגדיר רק במהלך סשן פרטי, והיא נמחקת בסיום הסשן הפרטי (מבטלת את ההעדפות הרגילות ואת ההעדפות של incognito_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
אחד מהבאים
-
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"