תיאור
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 optional
איפה מבטלים את ההגדרה (ברירת מחדל: רגילה).
-
-
החזרות
Promise<void>
Chrome 96 ואילךהפונקציה נקראת בסיום פעולת הניקוי.
-
-
get
void
קבלת הערך של הגדרה.
הפונקציה
getנראית כך:(details: object) => {...}
-
פרטים
אובייקט
ההגדרה שכדאי לקחת בחשבון.
-
גלישה בסתר
boolean אופציונלי
האם להחזיר את הערך שרלוונטי לסשן הגלישה בסתר (ברירת המחדל היא false).
-
-
החזרות
Promise<object>
Chrome 96 ואילך
-
-
הוגדר
void
הגדרת הערך של הגדרה.
הפונקציה
setנראית כך:(details: object) => {...}
-
פרטים
אובייקט
איזו הגדרה לשנות.
-
היקף
ChromeSettingScope optional
איפה מגדירים את ההגדרה (ברירת מחדל: רגילה).
-
ערך
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"