chrome.contentSettings

תאריך הרענון: 2026-09-25 robots: noindex

תיאור

אפשר להשתמש ב-chrome.contentSettings API כדי לשנות הגדרות שקובעות אם אתרים יכולים להשתמש בתכונות כמו קובצי Cookie,‏ JavaScript ותוספים. באופן כללי יותר, הגדרות התוכן מאפשרות לכם להתאים אישית את ההתנהגות של Chrome לכל אתר בנפרד, במקום באופן גלובלי.

הרשאות

contentSettings

מניפסט

כדי להשתמש ב-API, צריך להצהיר על ההרשאה contentSettings במניפסט של התוסף. לדוגמה:

{
  "name": "My extension",
  ...
  "permissions": [
    "contentSettings"
  ],
  ...
}

דפוסי הגדרות תוכן

אתם יכולים להשתמש בתבניות כדי לציין את האתרים שכל הגדרת תוכן משפיעה עליהם. לדוגמה, ‫https://*.youtube.com/* מציין את youtube.com ואת כל תתי-הדומיין שלו. התחביר של דפוסי הגדרות תוכן זהה לזה של דפוסי התאמה, עם כמה הבדלים:

  • בכתובות URL מסוג http,‏ https ו-ftp, הנתיב חייב להיות תו כללי (/*). בכתובות URL מסוג file, הנתיב חייב להיות מוגדר באופן מלא ואסור להכיל תווים כלליים.
  • בניגוד לתבניות התאמה, תבניות של הגדרות תוכן יכולות לציין מספר יציאה. אם מציינים מספר יציאה, התבנית מתאימה רק לאתרים עם היציאה הזו. אם לא מציינים מספר יציאה, התבנית תואמת לכל היציאות.

קדימות של תבניות

אם יותר מכלל אחד של הגדרות תוכן חל על אתר מסוים, הכלל עם התבנית הספציפית יותר מקבל עדיפות.

לדוגמה, הדפוסים הבאים מסודרים לפי סדר עדיפות:

  1. https://www.example.com/*
  2. ‫https://*.example.com/* (תואם ל-example.com ולכל תתי-הדומיין)
  3. ‫<all_urls> (תואם לכל כתובת URL)

יש שלושה סוגים של תווים כלליים שמשפיעים על רמת הספציפיות של התבנית:

  • תווים כלליים לחיפוש ביציאה (לדוגמה, https://www.example.com:*/*)
  • תווים כלליים לחיפוש בסכימה (לדוגמה, *://www.example.com:123/*)
  • תווים כלליים לחיפוש בשם המארח (לדוגמה, https://*.example.com:123/*)

אם דפוס מסוים ספציפי יותר מדפוס אחר בחלק אחד אבל פחות ספציפי בחלק אחר, החלקים השונים נבדקים לפי הסדר הבא: שם המארח, הסכימה, היציאה. לדוגמה, התבניות הבאות מסודרות לפי סדר עדיפות:

  1. https://www.example.com:*/* מציין את שם המארח ואת הסכימה.
  2. *:/www.example.com:123/* לא גבוהה, כי למרות ששם המארח מצוין, הסכימה לא מצוינת.
  3. ‫https://*.example.com:123/* נמוך יותר כי למרות שהוא מציין את היציאה והסכימה, יש בו תבנית wildcard בשם המארח.

תבניות ראשיות ותבניות משניות

כתובת ה-URL שנלקחת בחשבון כשמחליטים איזו הגדרת תוכן להחיל תלויה בסוג התוכן. לדוגמה, ההגדרות של contentSettings.notifications מבוססות על כתובת ה-URL שמוצגת בסרגל הכתובות. כתובת ה-URL הזו נקראת כתובת ה-URL הראשית.

יכול להיות שסוגי תוכן מסוימים יביאו בחשבון כתובות URL נוספות. לדוגמה, ההחלטה אם לאתר מסוים מותר להגדיר contentSettings.cookies מתקבלת על סמך כתובת ה-URL של בקשת ה-HTTP (שהיא כתובת ה-URL הראשית במקרה הזה) וגם על סמך כתובת ה-URL שמוצגת בסרגל הכתובות (שנקראת כתובת ה-URL המשנית).

אם לכמה כללים יש תבניות ראשיות ומשניות, הכלל עם התבנית הראשית הספציפית יותר מקבל עדיפות. אם לכמה כללים יש את אותה תבנית ראשית, הכלל עם התבנית המשנית הספציפית יותר מקבל עדיפות. לדוגמה, הרשימה הבאה של צמדי דפוסים ראשיים/משניים מסודרת לפי סדר עדיפות:

קדימותתבנית ראשיתתבנית משנית
1https://www.moose.com/*,https://www.wombat.com/*
2https://www.moose.com/*,<all_urls>
3<all_urls>,https://www.wombat.com/*
4<all_urls>,<all_urls>

מזהי משאבים

מזהי משאבים מאפשרים לכם לציין הגדרות תוכן עבור סוגי משנה ספציפיים של סוג תוכן. נכון לעכשיו, סוג התוכן היחיד שתומך במזהי משאבים הוא contentSettings.plugins, שבו מזהה משאב מזהה פלאגין ספציפי. כשמחילים הגדרות תוכן, קודם נבדקות ההגדרות של הפלאגין הספציפי. אם לא נמצאו הגדרות לתוסף הספציפי, המערכת בודקת את הגדרות התוכן הכלליות של התוספים.

לדוגמה, אם לכלל הגדרות תוכן יש מזהה משאב adobe-flash-player ודפוס <all_urls>, הוא מקבל עדיפות על פני כלל ללא מזהה משאב ועם הדפוס https://www.example.com/*, גם אם הדפוס הזה ספציפי יותר.

כדי לקבל רשימה של מזהי משאבים לסוג תוכן מסוים, צריך לקרוא ל-method‏ contentSettings.ContentSetting.getResourceIdentifiers. הרשימה שמוחזרת יכולה להשתנות בהתאם לסט התוספים המותקנים במחשב של המשתמש, אבל Chrome מנסה לשמור על יציבות המזהים גם אחרי עדכוני תוספים.

דוגמאות

כדי לנסות את ה-API הזה, מתקינים את הדוגמה ל-contentSettings API ממאגר chrome-extension-samples.

סוגים

AutoVerifyContentSetting

‫Chrome 113 ואילך

ספירה

'אישור'

"חסימה"

CameraContentSetting

‫Chrome 46 ואילך

ספירה

'אישור'

"חסימה"

‫ask

ClipboardContentSetting

‫Chrome 121 ואילך

ספירה

'אישור'

"חסימה"

‫ask

ContentSetting

מאפיינים

  • נקה

    void

    Promise

    מחיקה של כל כללי ההגדרות של התוכן שהוגדרו על ידי התוסף הזה.

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

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

    • פרטים

      אובייקט

      • היקף

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

        איפה משנים את ההגדרה (ברירת מחדל: רגילה).

    • callback

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

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

      () => void

    • החזרות

      Promise<void>

      ‫Chrome 96 ואילך

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

  • get

    void

    Promise

    הפונקציה מחזירה את הגדרת התוכן הנוכחית עבור צמד נתון של כתובות URL.

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

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

    • פרטים

      אובייקט

      • פרטי

        ‫boolean אופציונלי

        האם לבדוק את הגדרות התוכן עבור סשן במצב פרטי. (ברירת מחדל: false)

      • primaryUrl

        מחרוזת

        כתובת ה-URL הראשית שעבורה צריך לאחזר את הגדרת התוכן. חשוב לדעת: המשמעות של כתובת URL ראשית תלויה בסוג התוכן.

      • resourceIdentifier

        ‫ResourceIdentifier אופציונלי

        מזהה ספציפי יותר של סוג התוכן שעבורו צריך לאחזר את ההגדרות.

      • secondaryUrl

        מחרוזת אופציונלי

        כתובת ה-URL המשנית שעבורה צריך לאחזר את הגדרת התוכן. ברירת המחדל היא כתובת ה-URL הראשית. חשוב לדעת שהמשמעות של כתובת URL משנית תלויה בסוג התוכן, ולא בכל סוגי התוכן נעשה שימוש בכתובות URL משניות.

    • callback

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

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

      (details: object) => void

      • פרטים

        אובייקט

        • הגדרה

          T

          הגדרת התוכן. הערכים האפשריים מפורטים בתיאור של כל אחד מאובייקטי ContentSetting.

    • החזרות

      Promise<object>

      ‫Chrome 96 ואילך

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

  • getResourceIdentifiers

    void

    Promise

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

    (callback?: function) => {...}

    • callback

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

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

      (resourceIdentifiers?: ResourceIdentifier[]) => void

      • resourceIdentifiers

        ‫ResourceIdentifier[] optional

        רשימה של מזהי משאבים לסוג התוכן הזה, או undefined אם סוג התוכן הזה לא משתמש במזהי משאבים.

    • החזרות
      ‫Chrome 96 ואילך

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

  • הוגדר

    void

    Promise

    החלת כלל חדש להגדרת תוכן.

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

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

    • פרטים

      אובייקט

      • primaryPattern

        מחרוזת

        התבנית של כתובת ה-URL הראשית. פרטים על הפורמט של תבנית מופיעים במאמר תבניות של הגדרות תוכן.

      • resourceIdentifier

        ‫ResourceIdentifier אופציונלי

        מזהה המשאב של סוג התוכן.

      • היקף

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

        איפה מגדירים את ההגדרה (ברירת מחדל: רגילה).

      • secondaryPattern

        מחרוזת אופציונלי

        התבנית של כתובת ה-URL המשנית. ברירת המחדל היא התאמה לכל כתובות ה-URL. פרטים על הפורמט של תבנית זמינים במאמר תבניות של הגדרות תוכן.

      • הגדרה

        כל

        ההגדרה שחלה על ידי הכלל הזה. הערכים האפשריים מפורטים בתיאור של כל אחד מאובייקטי ContentSetting.

    • callback

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

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

      () => void

    • החזרות

      Promise<void>

      ‫Chrome 96 ואילך

      התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

CookiesContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

‫"session_only"

FullscreenContentSetting

‫Chrome 44 ואילך

ערך

'אישור'

ImagesContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

JavascriptContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

LocationContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

‫ask

MicrophoneContentSetting

‫Chrome 46 ואילך

ספירה

'אישור'

"חסימה"

‫ask

MouselockContentSetting

‫Chrome 44 ואילך

ערך

'אישור'

MultipleAutomaticDownloadsContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

‫ask

NotificationsContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

‫ask

PluginsContentSetting

‫Chrome 44 ואילך

ערך

"חסימה"

PopupsContentSetting

‫Chrome 44 ואילך

ספירה

'אישור'

"חסימה"

PpapiBrokerContentSetting

‫Chrome 44 ואילך

ערך

"חסימה"

ResourceIdentifier

סוג התוכן היחיד שמשתמש במזהי משאבים הוא contentSettings.plugins. מידע נוסף זמין במאמר מזהי משאבים.

מאפיינים

  • תיאור

    מחרוזת אופציונלי

    תיאור קריא (לבני אדם) של המשאב.

  • id [מזהה]

    מחרוזת

    מזהה המשאב של סוג התוכן שצוין.

Scope

‫Chrome 44 ואילך

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

ספירה

'רגיל'

‫"incognito_session_only"

SoundContentSetting

‫Chrome 141 ואילך

ספירה

'אישור'

"חסימה"

מאפיינים

automaticDownloads

האם לאפשר לאתרים להוריד כמה קבצים באופן אוטומטי. אחת מהאפשרויות הבאות: allow: לאפשר לאתרים להוריד כמה קבצים באופן אוטומטי, block: לא לאפשר לאתרים להוריד כמה קבצים באופן אוטומטי, ask: לשאול אם רוצים לאפשר לאתר להוריד קבצים באופן אוטומטי אחרי הקובץ הראשון. ברירת המחדל היא ask. כתובת ה-URL הראשית היא כתובת ה-URL של המסגרת ברמה העליונה. כתובת ה-URL המשנית לא בשימוש.

autoVerify

‫Chrome 113 ואילך

האם לאפשר לאתרים להשתמש ב-Private State Tokens API. אחת מהאפשרויות הבאות: allow: מתן הרשאה לאתרים להשתמש ב-Private State Tokens API, block: חסימת אתרים משימוש ב-Private State Tokens API. ברירת המחדל היא allow. כשמתקשרים אל set(), תבנית כתובת ה-URL הראשית צריכה להיות <all_urls>. כתובת ה-URL המשנית לא בשימוש.

camera

‫Chrome 46 ואילך

האם לאפשר לאתרים לגשת למצלמה. אחת מהאפשרויות הבאות: allow: לאפשר לאתרים לגשת למצלמה, block: לא לאפשר לאתרים לגשת למצלמה, ask: לשאול כשאתר רוצה לגשת למצלמה. ברירת המחדל היא ask. כתובת ה-URL הראשית היא כתובת ה-URL של המסמך שביקש גישה למצלמה. כתובת ה-URL המשנית לא בשימוש. הערה: ההגדרה 'allow' לא תקפה אם שתי התבניות הן '<all_urls>'.

clipboard

‫Chrome 121 ואילך

האם לאפשר לאתרים לגשת ללוח העריכה באמצעות יכולות מתקדמות של Async Clipboard API. היכולות ה'מתקדמות' כוללות כל דבר מלבד כתיבת פורמטים מובנים אחרי תנועה של המשתמש, כלומר היכולת לקרוא, היכולת לכתוב פורמטים מותאמים אישית והיכולת לכתוב ללא תנועה של המשתמש. אחת מהאפשרויות הבאות: allow: אתרים יכולים להשתמש ביכולות מתקדמות של לוח העריכה, block: אתרים לא יכולים להשתמש ביכולות מתקדמות של לוח העריכה, ask: תופיע בקשה כשאתר ירצה להשתמש ביכולות מתקדמות של לוח העריכה. ברירת המחדל היא ask. כתובת ה-URL הראשית היא כתובת ה-URL של המסמך שביקש גישה ללוח. כתובת ה-URL המשנית לא בשימוש.

cookies

האם לאפשר לאתרים להגדיר קובצי Cookie ונתונים מקומיים אחרים. אחת מהאפשרויות הבאות: allow: הסכמה לשימוש בקובצי Cookie, block: חסימת קובצי Cookie, session\_only: הסכמה לשימוש בקובצי Cookie רק בסשן הנוכחי. ברירת המחדל היא allow. כתובת ה-URL הראשית היא כתובת ה-URL שמייצגת את המקור של קובץ ה-Cookie. כתובת ה-URL המשנית היא כתובת ה-URL של המסגרת ברמה העליונה.

fullscreen

הוצא משימוש. אין לה יותר השפעה. ההרשאה למסך מלא ניתנת עכשיו באופן אוטומטי לכל האתרים. הערך הוא תמיד allow.

images

האם להציג תמונות. אחת מהאפשרויות הבאות: allow: הצגת תמונות, block: לא להציג תמונות. ברירת המחדל היא allow. כתובת ה-URL הראשית היא כתובת ה-URL של המסגרת ברמה העליונה. כתובת ה-URL המשנית היא כתובת ה-URL של התמונה.

javascript

האם להריץ JavaScript. אחת מהאפשרויות הבאות: allow: הפעלת JavaScript, block: לא להפעיל JavaScript. ברירת המחדל היא allow. כתובת ה-URL הראשית היא כתובת ה-URL של המסגרת ברמה העליונה. כתובת ה-URL המשנית לא בשימוש.

location

האם לאפשר מיקום גיאוגרפי. אחת מהאפשרויות הבאות: allow: לאפשר לאתרים לעקוב אחרי המיקום הפיזי שלכם, block: לא לאפשר לאתרים לעקוב אחרי המיקום הפיזי שלכם, ask: לשאול לפני שמאפשרים לאתרים לעקוב אחרי המיקום הפיזי שלכם. ברירת המחדל היא ask. כתובת ה-URL הראשית היא כתובת ה-URL של המסמך שביקש נתוני מיקום. כתובת ה-URL המשנית היא כתובת ה-URL של המסגרת ברמה העליונה (יכול להיות שהיא שונה מכתובת ה-URL של הבקשה, ויכול להיות שהיא זהה לה).

microphone

‫Chrome 46 ואילך

האם לאפשר לאתרים לגשת למיקרופון. אחת מהאפשרויות הבאות: allow: מתן הרשאה לאתרים לגשת למיקרופון, block: אי מתן הרשאה לאתרים לגשת למיקרופון, ask: הצגת בקשה כשאתר רוצה לגשת למיקרופון. ברירת המחדל היא ask. כתובת ה-URL הראשית היא כתובת ה-URL של המסמך שביקש גישה למיקרופון. כתובת ה-URL המשנית לא בשימוש. הערה: ההגדרה 'allow' לא תקפה אם שתי התבניות הן '<all_urls>'.

mouselock

הוצא משימוש. אין לה יותר השפעה. ההרשאה לנעילת העכבר ניתנת עכשיו באופן אוטומטי לכל האתרים. הערך הוא תמיד allow.

notifications

האם לאפשר לאתרים להציג התראות בשולחן העבודה. אחת מהאפשרויות הבאות: allow: מתן אישור לאתרים להציג התראות בשולחן העבודה, block: איסור על אתרים להציג התראות בשולחן העבודה, ask: הצגת שאלה כשאתר רוצה להציג התראות בשולחן העבודה. ברירת המחדל היא ask. כתובת ה-URL הראשית היא כתובת ה-URL של המסמך שבו רוצים להציג את ההתראה. כתובת ה-URL המשנית לא בשימוש.

plugins

הוצא משימוש. התמיכה ב-Flash הוסרה ב-Chrome 88, ולכן להרשאה הזו אין יותר השפעה. הערך הוא תמיד block. המערכת תתעלם מקריאות ל-set() ול-clear().

popups

האם לאפשר לאתרים להציג חלונות קופצים. אחת מהאפשרויות הבאות: allow: אתרים יכולים להציג חלונות קופצים, block: אתרים לא יכולים להציג חלונות קופצים. ברירת המחדל היא block. כתובת ה-URL הראשית היא כתובת ה-URL של המסגרת ברמה העליונה. כתובת ה-URL המשנית לא בשימוש.

unsandboxedPlugins

הוצא משימוש. בעבר, ההגדרה הזו קבעה אם לאפשר לאתרים להפעיל פלאגינים ללא ארגז חול, אבל אחרי שהסרנו את תהליך ברוקר Flash ב-Chrome 88, להרשאה הזו אין יותר השפעה. הערך הוא תמיד block. המערכת תתעלם מקריאות ל-set() ול-clear().