chrome.bookmarks

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

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

תיאור

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

הרשאות

bookmarks

בלחיצה על סימן הכוכב אפשר להוסיף סימנייה

מניפסט

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

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

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

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

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

דוגמאות

הקוד הבא יוצר תיקייה עם הכותרת Extension bookmarks (סימניות של תוספים). הארגומנט הראשון של 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[] optional

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

  • dateAdded

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

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

  • dateGroupModified

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

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

  • dateLastUsed

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

    ‫Chrome 114 ואילך

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

  • 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 מציין שהצומת הזה הוגדר על ידי אדמין המערכת. ההגדרה מושמטת אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת מחדל).

ערך

'מנוהל'

CreateDetails

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

מאפיינים

  • אינדקס

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

  • parentId

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

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

  • title

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

  • url

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

FolderType

‫Chrome 134 ואילך

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

ספירה

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

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

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

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

מאפיינים

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 ואילך

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

get()

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

אחזור של BookmarkTreeNode ספציפי או של כמה כאלה.

פרמטרים

  • idOrIdList

    מחרוזת | [מחרוזת, ...מחרוזת[]]

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

  • callback

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

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

    (results: BookmarkTreeNode[]) =& gt;void

החזרות

  • Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getChildren()

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

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

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

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

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

    (results: BookmarkTreeNode[]) =& gt;void

החזרות

  • Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getRecent()

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

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

פרמטרים

  • numberOfItems

    number

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

  • callback

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

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

    (results: BookmarkTreeNode[]) =& gt;void

החזרות

  • Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getSubTree()

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

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

פרמטרים

  • id [מזהה]

    מחרוזת

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

  • callback

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

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

    (results: BookmarkTreeNode[]) =& gt;void

החזרות

  • Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

getTree()

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

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

פרמטרים

  • callback

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

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

    (results: BookmarkTreeNode[]) =& gt;void

החזרות

  • Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

move()

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

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

פרמטרים

  • id [מזהה]

    מחרוזת

  • destination

    אובייקט

    • אינדקס

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

    • parentId

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

  • callback

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

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

    (result: BookmarkTreeNode) =& gt;void

החזרות

  • ‫Chrome 90 ואילך

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

remove()

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

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

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

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

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

    () =& gt;void

החזרות

  • Promise<void>

    ‫Chrome 90 ואילך

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

removeTree()

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

מסיר תיקיית סימניות באופן רקורסיבי.

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

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

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

    () =& gt;void

החזרות

  • Promise<void>

    ‫Chrome 90 ואילך

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

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

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

פרמטרים

  • שאילתה

    string | object

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

    • שאילתה

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

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

    • title

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

      השם של הסימנייה.

    • url

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

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

  • callback

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

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

    (results: BookmarkTreeNode[]) =& gt;void

החזרות

  • Promise<BookmarkTreeNode[]>

    ‫Chrome 90 ואילך

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

update()

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

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

פרמטרים

  • id [מזהה]

    מחרוזת

  • שינויים

    אובייקט

    • title

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

    • url

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

  • callback

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

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

    (result: BookmarkTreeNode) =& gt;void

החזרות

  • ‫Chrome 90 ואילך

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

אירועים

onChanged

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

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

פרמטרים

  • callback

    פונקציה

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

    (id: string, changeInfo: object) =& gt;void

    • id [מזהה]

      מחרוזת

    • changeInfo

      אובייקט

      • title

        מחרוזת

      • url

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

onChildrenReordered

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

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

פרמטרים

  • callback

    פונקציה

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

    (id: string, reorderInfo: object) =& gt;void

    • id [מזהה]

      מחרוזת

    • reorderInfo

      אובייקט

      • childIds

        string[]

onCreated

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

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

פרמטרים

  • callback

    פונקציה

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

    (id: string, bookmark: BookmarkTreeNode) =& gt;void

onImportBegan

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

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

פרמטרים

  • callback

    פונקציה

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

    () =& gt;void

onImportEnded

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

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

פרמטרים

  • callback

    פונקציה

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

    () =& gt;void

onMoved

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

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

פרמטרים

  • callback

    פונקציה

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

    (id: string, moveInfo: object) =& gt;void

    • id [מזהה]

      מחרוזת

    • moveInfo

      אובייקט

      • אינדקס

        number

      • oldIndex

        number

      • oldParentId

        מחרוזת

      • parentId

        מחרוזת

onRemoved

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

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

פרמטרים

  • callback

    פונקציה

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

    (id: string, removeInfo: object) =& gt;void

    • id [מזהה]

      מחרוזת

    • removeInfo

      אובייקט

      • אינדקס

        number

      • צומת
        ‫Chrome 48 ואילך
      • parentId

        מחרוזת