chrome.contentSettings

refresh date: 2026-09-25 robots: noindex

תיאור

אפשר להשתמש ב-API של chrome.contentSettings כדי לשנות הגדרות שקובעות אם אתרים יכולים להשתמש בתכונות כמו קובצי 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/* נמוכה יותר כי למרות שהיא מציינת את היציאה והסכמה, יש לה תו כללי לחיפוש בשם המארח.

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

כתובת ה-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 example ממאגר chrome-extension-samples.

סוגים

AutoVerifyContentSetting

‫Chrome מגרסה 113 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

CameraContentSetting

‫Chrome מגרסה 46 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"ask"

ClipboardContentSetting

‫Chrome מגרסה 121 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"ask"

ContentSetting

מאפיינים

  • נקה

    void

    Promise

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

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

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

    • פרטים

      אובייקט

      • היקף

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

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

    • callback

      function optional

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

      () => void

    • החזרות

      Promise<void>

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

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

  • get

    void

    Promise

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

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

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

    • פרטים

      אובייקט

      • גלישה בסתר

        בוליאני אופציונלי

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

      • primaryUrl

        מחרוזת

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

      • resourceIdentifier

        ‫ResourceIdentifier אופציונלי

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

      • secondaryUrl

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

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

    • callback

      function optional

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

      (details: object) => void

      • פרטים

        אובייקט

        • הגדרה

          T

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

    • החזרות

      Promise<object>

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

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

  • getResourceIdentifiers

    void

    Promise

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

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

    • callback

      function optional

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

      (resourceIdentifiers?: ResourceIdentifier[]) => void

      • resourceIdentifiers

        ResourceIdentifier[] אופציונלי

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

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

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

  • הוגדר

    void

    Promise

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

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

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

    • פרטים

      אובייקט

      • primaryPattern

        מחרוזת

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

      • resourceIdentifier

        ‫ResourceIdentifier אופציונלי

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

      • היקף

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

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

      • secondaryPattern

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

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

      • הגדרה

        כל

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

    • callback

      function optional

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

      () => void

    • החזרות

      Promise<void>

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

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

CookiesContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"session_only"

FullscreenContentSetting

‫Chrome מגרסה 44 ואילך

ערך

"allow"

ImagesContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

JavascriptContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

LocationContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"ask"

MicrophoneContentSetting

‫Chrome מגרסה 46 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"ask"

MouselockContentSetting

‫Chrome מגרסה 44 ואילך

ערך

"allow"

MultipleAutomaticDownloadsContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"ask"

NotificationsContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

"ask"

PluginsContentSetting

‫Chrome מגרסה 44 ואילך

ערך

"block"

PopupsContentSetting

‫Chrome מגרסה 44 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

PpapiBrokerContentSetting

‫Chrome מגרסה 44 ואילך

ערך

"block"

ResourceIdentifier

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

מאפיינים

  • תיאור

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

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

  • id [מזהה]

    מחרוזת

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

Scope

‫Chrome מגרסה 44 ואילך

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

טיפוסים בני מנייה (enum)

"regular"

"incognito_session_only"

SoundContentSetting

‫Chrome מגרסה 141 ואילך

טיפוסים בני מנייה (enum)

"allow"

"block"

מאפיינים

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 broker הוסר ב-Chrome 88, ולכן להרשאה הזו אין יותר השפעה. הערך הוא תמיד block. המערכת תתעלם מקריאות ל-set() ול-clear().