chrome.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

    אירוע<functioncancelcancel>

    מופעל אחרי שינוי ההגדרה.

    הפונקציה 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&lt;object&gt;

      Chrome מגרסה 96 ואילך

      הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

  • הוגדר

    ריק

    הבטחה

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

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

    (details: object, callback?: function) => {...}

    • פרטים

      אובייקט

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

      • היקף

        ChromeSettingScope אופציונלי

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

      • ערך

        T

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

    • קריאה חוזרת (callback)

      פונקציה אופציונלית

      הפרמטר callback נראה כך:

      () => void

    • החזרות

      הבטחה<Empty>

      Chrome מגרסה 96 ואילך

      הבטחות נתמכות רק במניפסט מגרסה V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).

ChromeSettingScope

Chrome 44 ואילך

ההיקף של ChromeSetting. אחד מ-

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

Enum

"רגיל"

"regular_only"

"private_persistent"

"browsing_session_only"

LevelOfControl

Chrome 44 ואילך

אחד מ-

  • not\_controllable: לא ניתן לשלוט באמצעות אף תוסף
  • controlled\_by\_other\_extensions: נשלט על ידי תוספים עם קדימות גבוהה יותר
  • controllable\_by\_this\_extension: ניתן לשלוט באמצעות התוסף הזה
  • controlled\_by\_this\_extension: בשליטת התוסף הזה

Enum

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;