תיאור
שימוש ב-API chrome.bookmarks
כדי ליצור סימניות, לארגן אותן ולבצע בהן שינויים בדרכים אחרות. ראו גם את המאמר שינוי דפים, שבו ניתן להשתמש כדי ליצור דף מותאם אישית של 'מנהל הסימניות'.
הרשאות
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 ואילךהמועד האחרון שבו הצומת הזה נפתח, באלפיות השנייה מאז תחילת התקופה. לא מוגדר לתיקיות.
-
id [מזהה]
מחרוזת
המזהה הייחודי של הצומת. המזהים הם ייחודיים בפרופיל הנוכחי ונשארים בתוקף גם אחרי שהדפדפן מופעל מחדש.
-
index
מספר אופציונלי
המיקום מבוסס 0 של הצומת הזה בתוך תיקיית ההורה שלו.
-
parentId
מחרוזת אופציונלי
השדה
id
של תיקיית ההורה. חסר עבור צומת הרמה הבסיסית (root). -
title
מחרוזת
הטקסט שמוצג עבור הצומת.
-
לא ניתן לשינוי
"מנוהל"
אופציונלימציינת את הסיבה לכך שלא ניתן לשנות את הצומת הזה. הערך
managed
מציין שהצומת הזה הוגדר על ידי מנהל המערכת או על ידי הממונה של משתמש בפיקוח. חסר אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת מחדל). -
כתובת אתר
מחרוזת אופציונלי
כתובת ה-URL שאליה עבר המשתמש כשמשתמש לוחץ על הסימנייה. הושמט עבור התיקיות.
BookmarkTreeNodeUnmodifiable
מציינת את הסיבה לכך שלא ניתן לשנות את הצומת הזה. הערך managed
מציין שהצומת הזה הוגדר על ידי מנהל המערכת. חסר אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת מחדל).
ערך
"מנוהל"
CreateDetails
האובייקט מועבר לפונקציה create() .
מאפיינים
-
index
מספר אופציונלי
-
parentId
מחרוזת אופציונלי
ברירת המחדל היא 'סימניות אחרות'.
-
title
מחרוזת אופציונלי
-
כתובת אתר
מחרוזת אופציונלי
מאפיינים
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Chrome לא מגביל יותר את פעולות כתיבת הסימניות.
ערך
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Chrome לא מגביל יותר את פעולות כתיבת הסימניות.
ערך
1000000
שיטות
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
יוצר סימניה או תיקייה תחת מזהה ההורה שצוין. אם כתובת ה-URL היא NULL או חסרה, זו תיווצר תיקייה.
פרמטרים
-
להוסיף לסימניות
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(result: BookmarkTreeNode) => void
-
תוצאה
-
החזרות
-
Promise<BookmarkTreeNode>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
מאחזר את ה-BookmarkTreeNode(s) שצוינו.
פרמטרים
-
idOrIdList
string | [מחרוזת, ...מחרוזת[]]
מזהה בעל ערך מחרוזת יחיד או מערך של מזהים בעלי ערך מחרוזת
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(results: BookmarkTreeNode[]) => void
-
תוצאות
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
אחזור הצאצאים של מזהה ה-BookmarkTreeNode שצוין.
פרמטרים
-
id [מזהה]
מחרוזת
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(results: BookmarkTreeNode[]) => void
-
תוצאות
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
אחזור הסימניות שנוספו לאחרונה.
פרמטרים
-
numberOfItems
number
המספר המקסימלי של פריטים שצריך להחזיר.
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(results: BookmarkTreeNode[]) => void
-
תוצאות
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
אחזור חלק מהיררכיית הסימניות, החל מהצומת שצוין.
פרמטרים
-
id [מזהה]
מחרוזת
המזהה של השורש של עץ המשנה שיש לאחזר.
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(results: BookmarkTreeNode[]) => void
-
תוצאות
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
אחזור של היררכיית הסימניות המלאה.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(results: BookmarkTreeNode[]) => void
-
תוצאות
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
מעביר את ה-BookmarkTreeNode שצוין למיקום שצוין.
פרמטרים
-
id [מזהה]
מחרוזת
-
חשבון יעד
אובייקט
-
index
מספר אופציונלי
-
parentId
מחרוזת אופציונלי
-
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(result: BookmarkTreeNode) => void
-
תוצאה
-
החזרות
-
Promise<BookmarkTreeNode>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
מסיר סימנייה או תיקיית סימניות ריקה.
פרמטרים
-
id [מזהה]
מחרוזת
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
הבטחה<Empty>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
מסיר באופן רקורסיבי תיקיית סימניות.
פרמטרים
-
id [מזהה]
מחרוזת
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:() => void
החזרות
-
הבטחה<Empty>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
חיפושי BookmarkTreeNodes שתואמים לשאילתה הנתונה. השאילתות שצוינו עם אובייקט יוצרות סימניות BookmarkTreeNode שתואמות לכל המאפיינים שצוינו.
פרמטרים
-
שאילתה
string | אובייקט
מחרוזת של מילים וביטויים מצוטטים שתואמים לכתובות URL ולכותרות של סימניות, או אובייקט. אם אובייקט, ניתן לציין את המאפיינים
query
,url
ו-title
, ייווצרו סימניות שתואמות לכל המאפיינים שצוינו.-
שאילתה
מחרוזת אופציונלי
מחרוזת של מילים וביטויים מצוטטים שתואמים לכתובות URL ולכותרות של סימניות.
-
title
מחרוזת אופציונלי
כותרת הסימניה; תואם מילה במילה.
-
כתובת אתר
מחרוזת אופציונלי
כתובת ה-URL של הסימנייה. תואם מילה במילה. שימו לב שלתיקיות אין כתובת URL.
-
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(results: BookmarkTreeNode[]) => void
-
תוצאות
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
עדכון המאפיינים של סימנייה או תיקייה. לציין רק את המאפיינים שרוצים לשנות. מאפיינים שלא צוינו יישארו ללא שינוי. הערה: בשלב הזה, רק 'title' ו-'url' נתמכים.
פרמטרים
-
id [מזהה]
מחרוזת
-
שינויים
אובייקט
-
title
מחרוזת אופציונלי
-
כתובת אתר
מחרוזת אופציונלי
-
-
קריאה חוזרת (callback)
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(result: BookmarkTreeNode) => void
-
תוצאה
-
החזרות
-
Promise<BookmarkTreeNode>
Chrome מגרסה 90 ואילךהבטחות נתמכות במניפסט מגרסה V3 ואילך, אבל ניתנות קריאות חוזרות (callback) בשביל תאימות לאחור. לא ניתן להשתמש בשתיהן באותה בקשה להפעלת פונקציה. ההבטחה הזו מצליחה לפתור את הבעיה באותו סוג שמועבר לקריאה החוזרת.
אירועים
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
מופעל כשסימנייה או תיקייה משתנות. הערה: בשלב הזה, רק שינויים בשם ובכתובת ה-URL יכולים לגרום לכך.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(id: string, changeInfo: object) => void
-
id [מזהה]
מחרוזת
-
changeInfo
אובייקט
-
title
מחרוזת
-
כתובת אתר
מחרוזת אופציונלי
-
-
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
-
id [מזהה]
מחרוזת
-
להוסיף לסימניות
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
מופעל כשמתחיל סשן של ייבוא סימניות. צופים יקרים צריכים להתעלם מעדכונים שנוצרו עד שתתבצע 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
אובייקט
-
index
number
-
oldIndex
number
-
oldParentId
מחרוזת
-
parentId
מחרוזת
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
מופעל כאשר סימנייה או תיקייה מוסרת. כשמסירים תיקייה באופן רקורסיבי, מופעלת התראה יחידה לגבי התיקייה ללא תוכן.
פרמטרים
-
קריאה חוזרת (callback)
פונקציה
הפרמטר
callback
נראה כך:(id: string, removeInfo: object) => void
-
id [מזהה]
מחרוזת
-
removeInfo
אובייקט
-
index
number
-
צומתChrome 48 ואילך
-
parentId
מחרוזת
-
-