תיאור
ה-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 מנהל את ההגדרות בשכבות שונות. ברשימה הבאה מתוארות השכבות שעשויות להשפיע על ההגדרות האפקטיביות, לפי סדר קדימות גבוה יותר.
- הגדרות המערכת שנקבעו על ידי מערכת ההפעלה
- פרמטרים של שורת הפקודה
- הגדרות שמסופקות על ידי תוספים
- כללי מדיניות
כפי שאפשר להבין מהרשימה, המדיניות עשויה לבטל כל שינוי שציינת בתוסף. אפשר
להשתמש בפונקציה get()
כדי לקבוע אם התוסף יכול לספק הגדרה
או אם ההגדרה הזו תבוטל.
כפי שצוין קודם, Chrome מאפשר להשתמש בהגדרות שונות לחלונות רגילים ולחלונות פרטיים. הדוגמה הבאה ממחישה את ההתנהגות. נניח שאין מדיניות שמבטלת את ההגדרות, ושתוסף יכול לקבוע הגדרות לחלונות רגילים (R) והגדרות לחלונות פרטיים (I).
- אם רק (R) מוגדרת, ההגדרות האלה חלות גם על חלונות רגילים וגם על חלונות פרטיים.
- אם רק (I) מוגדרת, ההגדרות האלה חלות רק על חלונות פרטיים. חלונות רגילים משתמשים בהגדרות שנקבעו על ידי השכבות התחתונות (אפשרויות שורת הפקודה והגדרות המערכת).
- אם גם (R) וגם (I) מוגדרות, ההגדרות המתאימות משמשות בחלונות רגילים ובחלונות פרטיים.
אם שני תוספים או יותר רוצים לקבוע את אותה הגדרה לערכים שונים, התוסף שהותקן לאחרונה יקבל עדיפות על פני התוספים האחרים. אם התוסף האחרון שהותקן מגדיר רק (I), אפשר לקבוע את ההגדרות של החלונות הרגילים באמצעות התוספים שהותקנו קודם.
הערך האפקטיבי של הגדרה הוא זה שמתקבל מהשיקולים של כללי הקדימות. Chrome משתמש בה.
סוגים
ChromeSetting
ממשק שמאפשר גישה להגדרה של דפדפן Chrome. כדי לראות דוגמה, אפשר לעיין ב-accessibilityFeatures
.
תכונות
-
onChange
אירוע<functionvoidvoid>
מופעל אחרי שינוי ההגדרה.
הפונקציה
onChange.addListener
נראית כך:(callback: function) => {...}
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(details: object) => void
-
פרטים
אובייקט
-
incognitoSpecific
בוליאני אופציונלי
האם הערך שהשתנה הוא ספציפי לסשן פרטי. הנכס הזה יוצג רק אם המשתמש הפעיל את התוסף במצב פרטי.
-
levelOfControl
רמת השליטה על ההגדרה.
-
value
T
ערך ההגדרה לאחר השינוי.
-
-
-
-
מחיקה
void
הבטחהניקוי ההגדרה ושחזור של ערכי ברירת מחדל כלשהם.
הפונקציה
clear
נראית כך:(details: object, callback?: function) => {...}
-
פרטים
אובייקט
איזו הגדרה לנקות.
-
היקף
ChromeSettingScope אופציונלי
איפה לנקות את ההגדרה (ברירת מחדל: רגיל).
-
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
-
החזרות
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
-
-
get
void
הבטחההפונקציה מקבלת את הערך של הגדרה.
הפונקציה
get
נראית כך:(details: object, callback?: function) => {...}
-
פרטים
אובייקט
איזו הגדרה כדאי לשקול.
-
גלישה פרטית
בוליאני אופציונלי
האם להחזיר את הערך שחל על הסשן הפרטי (ברירת המחדל היא false).
-
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(details: object) => void
-
פרטים
אובייקט
פרטים על הערך האפקטיבי הנוכחי.
-
incognitoSpecific
בוליאני אופציונלי
האם הערך האפקטיבי הוא ספציפי לסשן פרטי. המאפיין הזה יופיע רק אם המאפיין
incognito
בפרמטרdetails
שלget()
היה True. -
levelOfControl
רמת השליטה על ההגדרה.
-
value
T
הערך של ההגדרה.
-
-
-
החזרות
Promise<object>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
-
-
הוגדר
void
הבטחהקביעת הערך של הגדרה.
הפונקציה
set
נראית כך:(details: object, callback?: function) => {...}
-
פרטים
אובייקט
איזו הגדרה לשנות.
-
היקף
ChromeSettingScope אופציונלי
איפה לקבוע את ההגדרה (ברירת מחדל: רגילה).
-
value
T
הערך של ההגדרה. שימו לב שלכל הגדרה יש סוג מסוים של ערך, שמתואר יחד עם ההגדרה. תוסף לא יכול להגדיר ערך מסוג אחר.
-
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
-
החזרות
Promise<void>
Chrome 96 ומעלהיש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (callback) לצורך תאימות לאחור. אי אפשר להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה מסתיימת עם אותו הסוג שמועבר לקריאה החוזרת.
-
ChromeSettingScope
ההיקף של ChromeSetting. אחד מ-
regular
: הגדרה לפרופיל הרגיל (שמעברו בירושה לפרופיל הפרטי אם לא מבטלים אותו במקום אחר),regular\_only
: הגדרה לפרופיל הרגיל בלבד (לא עובר בירושה לפרופיל הפרטי),incognito\_persistent
: הגדרה של הפרופיל במצב פרטי שעדיין לא מצליח להפעיל מחדש את הדפדפן (מבטלת את ההעדפות הרגילות),incognito\_session\_only
: הגדרה של פרופיל פרטי שניתן להגדיר רק במהלך סשן אנונימי, והוא נמחק בסיום הסשן הפרטי (מבטלת את ההעדפות הרגילות וההעדפות של מצב פרטי).
טיפוסים בני מנייה (enum)
"regular_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"