chrome.bookmarks

refresh date: 2026-09-25 robots: noindex

ההרשאה הזו מפעילה אזהרה.

תיאור

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

הרשאות

bookmarks

לחיצה על הכוכב מוסיפה סימנייה

מניפסט

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

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

אובייקטים ומאפיינים

הסימניות מאורגנות בעץ, שבו כל צומת בעץ הוא סימנייה או תיקייה (לפעמים נקראת קבוצה). כל צומת בעץ מיוצג על ידי אובייקט bookmarks.BookmarkTreeNode.

מאפייני BookmarkTreeNode משמשים בכל ה-API של chrome.bookmarks. לדוגמה, כשמפעילים את bookmarks.create, מעבירים את הצומת ההורה החדש (parentId), ואם רוצים, גם את המאפיינים index,‏ title ו-url של הצומת. במאמר bookmarks.BookmarkTreeNode מפורט מידע על המאפיינים שיכולים להיות לצומת.

דוגמאות

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

chrome.bookmarks.create(
  {'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
  function(newFolder) {
    console.log("added folder: " + newFolder.title);
  },
);

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

chrome.bookmarks.create({
  'parentId': extensionsFolderId,
  'title': 'Extensions doc',
  'url': 'https://developer.chrome.com/docs/extensions',
});

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

סוגים

BookmarkTreeNode

צומת (סימנייה או תיקייה) בעץ הסימניות. צומתי הצאצא מסודרים בתוך תיקיית ההורה שלהם.

מאפיינים

  • ילדים

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

    רשימה מסודרת של הצאצאים של הצומת הזה.

  • dateAdded

    מספר אופציונלי

    מתי הצומת הזה נוצר, באלפיות השנייה מאז ראשית זמן יוניקס (new Date(dateAdded)).

  • dateGroupModified

    מספר אופציונלי

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

  • dateLastUsed

    מספר אופציונלי

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

    המועד האחרון שבו הצומת הזה נפתח, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch). לא מוגדר לתיקיות.

  • folderType

    ‫FolderType אופציונלי

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

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

    יכול להיות שלא יהיו צמתים בכלל, או שיהיו צומת אחד או כמה צמתים מכל סוג תיקייה. הדפדפן יכול להוסיף או להסיר תיקייה, אבל לא דרך ה-API של התוספים.

  • id [מזהה]

    מחרוזת

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

  • אינדקס

    מספר אופציונלי

    המיקום של הצומת הזה בתיקיית ההורה שלו, החל מ-0.

  • parentId

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

    ה-id של התיקייה הראשית. לא נכלל בצומת הבסיס.

  • התוכן מסתנכרן

    בוליאני

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

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

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

    בצמתים מנוהלים (צמתים שבהם unmodifiable מוגדר כ-true), המאפיין הזה תמיד יהיה false.

  • title

    מחרוזת

    הטקסט שמוצג לצומת.

  • אי אפשר לשנות

    "managed"
     אופציונלי

    מציין את הסיבה לכך שלא ניתן לשנות את הצומת הזה. הערך managed מציין שהצומת הזה הוגדר על ידי מנהל המערכת או על ידי האפוטרופוס של משתמש בפיקוח. המאפיין מושמט אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת המחדל).

  • url

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

    כתובת ה-URL שאליה מועברים כשמשתמש לוחץ על הסימנייה. לא רלוונטי לתיקיות.

BookmarkTreeNodeUnmodifiable

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

מציין את הסיבה לכך שלא ניתן לשנות את הצומת הזה. הערך managed מציין שהצומת הזה הוגדר על ידי מנהל המערכת. המאפיין מושמט אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת המחדל).

ערך

"managed"

CreateDetails

האובייקט שמועבר לפונקציה create()‎.

מאפיינים

  • אינדקס

    מספר אופציונלי

  • parentId

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

    ברירת המחדל היא התיקייה "סימניות אחרות".

  • title

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

  • url

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

FolderType

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

מציין את סוג התיקייה.

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

"bookmarks-bar"
התיקייה שהתוכן שלה מוצג בחלק העליון של חלון הדפדפן.

"other"
סימניות שמוצגות ברשימה המלאה של הסימניות בכל הפלטפורמות.

"mobile"
סימניות שזמינות בדרך כלל במכשירים הניידים של המשתמש, אבל אפשר לשנות אותן באמצעות תוסף או במנהל הסימניות.

‫"managed"
תיקייה ברמה העליונה שעשויה להופיע אם מנהל המערכת או האפוטרופוס של משתמש בפיקוח הגדירו סימניות.

מאפיינים

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

הוצא משימוש

פעולות כתיבה של סימניות כבר לא מוגבלות על ידי Chrome.

ערך

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

הוצא משימוש

פעולות כתיבה של סימניות כבר לא מוגבלות על ידי Chrome.

ערך

1000000

ROOT_NODE_ID

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

ה-id שמשויך לצומת ברמת הבסיס.

ערך

"0"

Methods

create()

Promise
chrome.bookmarks.create(
  bookmark: CreateDetails,
  callback?: function,
)
: Promise<BookmarkTreeNode>

יוצרת סימנייה או תיקייה ב-parentId שצוין. אם כתובת ה-URL היא NULL או חסרה, היא תהיה תיקייה.

פרמטרים

החזרות

  • ‫Chrome 90 ואילך

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

get()

Promise
chrome.bookmarks.get(
  idOrIdList: string | [string, ...string[]],
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

אחזור של BookmarkTreeNode(s)‎ שצוינו.

פרמטרים

  • idOrIdList

    string | [string, ...string[]]

    מזהה יחיד עם ערך מחרוזת, או מערך של מזהים עם ערכי מחרוזת

  • callback

    function optional

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

    (results: BookmarkTreeNode[]) => void

החזרות

  • ‫Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getChildren()

Promise
chrome.bookmarks.getChildren(
  id: string,
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

אחזור הצאצאים של מזהה BookmarkTreeNode שצוין.

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

    function optional

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

    (results: BookmarkTreeNode[]) => void

החזרות

  • ‫Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getRecent()

Promise
chrome.bookmarks.getRecent(
  numberOfItems: number,
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

מאחזר את הסימניות שנוספו לאחרונה.

פרמטרים

  • numberOfItems

    number

    מספר הפריטים המקסימלי שיוחזרו.

  • callback

    function optional

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

    (results: BookmarkTreeNode[]) => void

החזרות

  • ‫Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getSubTree()

Promise
chrome.bookmarks.getSubTree(
  id: string,
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

אחזור חלק מההיררכיה של הסימניות, החל מהצומת שצוין.

פרמטרים

  • id [מזהה]

    מחרוזת

    המזהה של השורש של עץ המשנה שרוצים לאחזר.

  • callback

    function optional

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

    (results: BookmarkTreeNode[]) => void

החזרות

  • ‫Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getTree()

Promise
chrome.bookmarks.getTree(
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

אחזור של כל ההיררכיה של הסימניות.

פרמטרים

החזרות

  • ‫Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

move()

Promise
chrome.bookmarks.move(
  id: string,
  destination: object,
  callback?: function,
)
: Promise<BookmarkTreeNode>

העברת ה-BookmarkTreeNode שצוין למיקום שסופק.

פרמטרים

  • id [מזהה]

    מחרוזת

  • destination

    אובייקט

    • אינדקס

      מספר אופציונלי

    • parentId

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

  • callback

    function optional

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

    (result: BookmarkTreeNode) => void

החזרות

  • ‫Chrome 90 ואילך

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

remove()

Promise
chrome.bookmarks.remove(
  id: string,
  callback?: function,
)
: Promise<void>

הסרת סימנייה או תיקיית סימניות ריקה.

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 90 ואילך

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

removeTree()

Promise
chrome.bookmarks.removeTree(
  id: string,
  callback?: function,
)
: Promise<void>

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

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

    function optional

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

    () => void

החזרות

  • Promise<void>

    ‫Chrome 90 ואילך

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

Promise
chrome.bookmarks.search(
  query: string | object,
  callback?: function,
)
: Promise<BookmarkTreeNode[]>

חיפוש של BookmarkTreeNodes שתואמים לשאילתה הנתונה. שאילתות שצוינו עם אובייקט יוצרות BookmarkTreeNodes שתואמים לכל המאפיינים שצוינו.

פרמטרים

  • שאילתה

    מחרוזת | אובייקט

    מחרוזת של מילים וביטויים במירכאות שמותאמים לכתובות URL ולכותרות של סימניות, או אובייקט. אם מדובר באובייקט, אפשר לציין את המאפיינים query,‏ url ו-title, ויופקו סימניות שתואמות לכל המאפיינים שצוינו.

    • שאילתה

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

      מחרוזת של מילים וביטויים במירכאות שמושוות לכתובות ה-URL ולכותרות של הסימניות.

    • title

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

      שם הסימנייה, התאמה מדויקת.

    • url

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

      כתובת ה-URL של הסימנייה, התאמה מדויקת. שימו לב שלתיקיות אין כתובת URL.

  • callback

    function optional

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

    (results: BookmarkTreeNode[]) => void

החזרות

  • ‫Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

update()

Promise
chrome.bookmarks.update(
  id: string,
  changes: object,
  callback?: function,
)
: Promise<BookmarkTreeNode>

מעדכן את המאפיינים של סימנייה או תיקייה. ציינו רק את המאפיינים שאתם רוצים לשנות. מאפיינים שלא תציינו יישארו ללא שינוי. הערה: בשלב הזה, רק "כותרת" ו"כתובת URL" נתמכות.

פרמטרים

  • id [מזהה]

    מחרוזת

  • שינויים

    אובייקט

    • title

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

    • url

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

  • callback

    function optional

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

    (result: BookmarkTreeNode) => void

החזרות

  • ‫Chrome 90 ואילך

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

אירועים

onChanged

chrome.bookmarks.onChanged.addListener(
  callback: function,
)

מופעל כשסימנייה או תיקייה משתנות. הערה: בשלב הזה, רק שינויים בכותרת ובכתובת ה-URL מפעילים את זה.

פרמטרים

  • callback

    פונקציה

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

    (id: string, changeInfo: object) => void

    • id [מזהה]

      מחרוזת

    • changeInfo

      אובייקט

      • title

        מחרוזת

      • url

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

onChildrenReordered

chrome.bookmarks.onChildrenReordered.addListener(
  callback: function,
)

מופעל כשהסדר של הצאצאים של תיקייה השתנה בגלל שהסדר מוין בממשק המשתמש. הפונקציה הזו לא נקראת כתוצאה מ-()move.

פרמטרים

  • callback

    פונקציה

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

    (id: string, reorderInfo: object) => void

    • id [מזהה]

      מחרוזת

    • reorderInfo

      אובייקט

      • childIds

        string[]‎

onCreated

chrome.bookmarks.onCreated.addListener(
  callback: function,
)

מופעל כשנוצרת סימנייה או תיקייה.

פרמטרים

  • callback

    פונקציה

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

    (id: string, bookmark: BookmarkTreeNode) => void

onImportBegan

chrome.bookmarks.onImportBegan.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    () => void

onImportEnded

chrome.bookmarks.onImportEnded.addListener(
  callback: function,
)

מופעל כשסשן ייבוא של סימניות מסתיים.

פרמטרים

  • callback

    פונקציה

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

    () => void

onMoved

chrome.bookmarks.onMoved.addListener(
  callback: function,
)

מופעל כשסימנייה או תיקייה מועברות לתיקיית הורה אחרת.

פרמטרים

  • callback

    פונקציה

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

    (id: string, moveInfo: object) => void

    • id [מזהה]

      מחרוזת

    • moveInfo

      אובייקט

      • אינדקס

        number

      • oldIndex

        number

      • oldParentId

        מחרוזת

      • parentId

        מחרוזת

onRemoved

chrome.bookmarks.onRemoved.addListener(
  callback: function,
)

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

פרמטרים

  • callback

    פונקציה

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

    (id: string, removeInfo: object) => void

    • id [מזהה]

      מחרוזת

    • removeInfo

      אובייקט

      • אינדקס

        number

      • צומת
        ‫Chrome מגרסה 48 ואילך
      • parentId

        מחרוזת