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