תיאור
אפשר להשתמש ב-API של chrome.bookmarks כדי ליצור סימניות, לארגן אותן ולבצע בהן פעולות אחרות. כדאי גם לעיין בקטע דפי שינוי ברירת המחדל, שבו אפשר להשתמש כדי ליצור דף מותאם אישית של מנהל הסימניות.
הרשאות
bookmarksכדי להשתמש ב-API של הסימניות, צריך להצהיר על ההרשאה "סימניות" במניפסט של התוסף. לדוגמה:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
מושגים ושימוש
אובייקטים ומאפיינים
הסימניות מאורגנות בעץ, שבו כל צומת בעץ הוא סימנייה או תיקייה (לפעמים נקראת קבוצה). כל צומת בעץ מיוצג על ידי אובייקט bookmarks.BookmarkTreeNode.
מאפייני BookmarkTreeNode משמשים בכל ה-API של browser.bookmarks. לדוגמה, כשמפעילים את bookmarks.create, מעבירים את הצומת ההורה החדש (parentId), ואם רוצים, גם את המאפיינים index, title ו-url של הצומת. במאמר bookmarks.BookmarkTreeNode מפורט מידע על המאפיינים שיכולים להיות לצומת.
דוגמאות
הקוד הבא יוצר תיקייה עם הכותרת "סימניות של תוספים". הארגומנט הראשון של create() מציין את המאפיינים של התיקייה החדשה. הארגומנט השני מגדיר פונקציה שתופעל אחרי שהתיקייה תיווצר.
browser.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
קטע הקוד הבא יוצר סימנייה שמפנה למאמרי עזרה למפתחים בנושא תוספים. מכיוון שלא יקרה שום דבר רע אם יצירת הסימנייה תיכשל, הקוד הזה לא מגדיר פונקציית קריאה חוזרת.
browser.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 ואילך browser.* מ-Chrome 148המועד האחרון שבו הצומת הזה נפתח, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch). לא מוגדר לתיקיות.
-
folderType
FolderType אופציונלי
Chrome מגרסה 134 ואילך browser.* מגרסה 148 של Chromeאם היא קיימת, זו תיקייה שנוספה על ידי הדפדפן, והמשתמש או התוסף לא יכולים לשנות אותה. אם המאפיין
unmodifiableלא מוגדר בצומת הזה, יכול להיות שצמתים משניים ישתנו. המאפיין מושמט אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת המחדל).יכול להיות שלא יהיו צמתים בכלל, או שיהיו צומת אחד או כמה צמתים מכל סוג תיקייה. הדפדפן יכול להוסיף או להסיר תיקייה, אבל לא דרך ה-API של התוספים.
-
id [מזהה]
מחרוזת
המזהה הייחודי של הצומת. המזהים ייחודיים לפרופיל הנוכחי, והם נשארים בתוקף גם אחרי שמפעילים מחדש את הדפדפן.
-
אינדקס
מספר אופציונלי
המיקום של הצומת הזה בתיקיית ההורה שלו, החל מ-0.
-
parentId
מחרוזת אופציונלי
ה-
idשל התיקייה הראשית. לא נכלל בצומת הבסיס. -
התוכן מסתנכרן
בוליאני
Chrome מגרסה 134 ואילך browser.* מגרסה 148 של Chromeאם הצומת הזה מסונכרן עם נפח האחסון בחשבון המרוחק של המשתמש על ידי הדפדפן. אפשר להשתמש בזה כדי להבחין בין גרסאות של אותו
FolderTypeבחשבון ובמכשיר המקומי בלבד. הערך של המאפיין הזה עשוי להשתנות בצומת קיים, למשל כתוצאה מפעולה של המשתמש.הערה: זה משקף אם הצומת נשמר בספק החשבון המובנה של הדפדפן. יכול להיות שצומת יסונכרן דרך צד שלישי, גם אם הערך הזה הוא FALSE.
בצמתים מנוהלים (צמתים שבהם
unmodifiableמוגדר כ-true), המאפיין הזה תמיד יהיהfalse. -
title
מחרוזת
הטקסט שמוצג לצומת.
-
אי אפשר לשנות
"managed"
אופציונלימציין את הסיבה לכך שלא ניתן לשנות את הצומת הזה. הערך
managedמציין שהצומת הזה הוגדר על ידי מנהל המערכת או על ידי האפוטרופוס של משתמש בפיקוח. המאפיין מושמט אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת המחדל). -
url
מחרוזת אופציונלי
כתובת ה-URL שאליה מועברים כשמשתמש לוחץ על הסימנייה. לא רלוונטי לתיקיות.
BookmarkTreeNodeUnmodifiable
מציין את הסיבה לכך שלא ניתן לשנות את הצומת הזה. הערך managed מציין שהצומת הזה הוגדר על ידי מנהל המערכת. המאפיין מושמט אם המשתמש והתוסף יכולים לשנות את הצומת (ברירת המחדל).
ערך
"managed"
CreateDetails
האובייקט שמועבר לפונקציה create().
מאפיינים
-
אינדקס
מספר אופציונלי
-
parentId
מחרוזת אופציונלי
ברירת המחדל היא התיקייה "סימניות אחרות".
-
title
מחרוזת אופציונלי
-
url
מחרוזת אופציונלי
FolderType
מציין את סוג התיקייה.
טיפוסים בני מנייה (enum)
"bookmarks-bar"
התיקייה שהתוכן שלה מוצג בחלק העליון של חלון הדפדפן.
"other"
סימניות שמוצגות ברשימה המלאה של הסימניות בכל הפלטפורמות.
"mobile"
סימניות שזמינות בדרך כלל במכשירים הניידים של המשתמש, אבל אפשר לשנות אותן באמצעות תוסף או במנהל הסימניות.
"managed"
תיקייה ברמה העליונה שעשויה להופיע אם מנהל המערכת או האפוטרופוס של משתמש בפיקוח הגדירו סימניות.
מאפיינים
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
פעולות כתיבה של סימניות כבר לא מוגבלות על ידי Chrome.
ערך
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
פעולות כתיבה של סימניות כבר לא מוגבלות על ידי Chrome.
ערך
1000000
ROOT_NODE_ID
ה-id שמשויך לצומת ברמת הבסיס.
ערך
"0"
Methods
create()
browser.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
יוצרת סימנייה או תיקייה ב-parentId שצוין. אם כתובת ה-URL היא NULL או חסרה, היא תהיה תיקייה.
פרמטרים
-
סימנייה
החזרות
-
Promise<BookmarkTreeNode>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
get()
browser.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
אחזור של BookmarkTreeNode(s) שצוינו.
פרמטרים
-
idOrIdList
string | [string, ...string[]]
מזהה יחיד עם ערך מחרוזת, או מערך של מזהים עם ערכי מחרוזת
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
getChildren()
browser.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
אחזור הצאצאים של מזהה BookmarkTreeNode שצוין.
פרמטרים
-
id [מזהה]
מחרוזת
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
getRecent()
browser.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
מאחזר את הסימניות שנוספו לאחרונה.
פרמטרים
-
numberOfItems
number
מספר הפריטים המקסימלי שיוחזרו.
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
getSubTree()
browser.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
אחזור חלק מההיררכיה של הסימניות, החל מהצומת שצוין.
פרמטרים
-
id [מזהה]
מחרוזת
המזהה של השורש של עץ המשנה שרוצים לאחזר.
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
getTree()
browser.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
אחזור של כל ההיררכיה של הסימניות.
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
move()
browser.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
העברת ה-BookmarkTreeNode שצוין למיקום שסופק.
פרמטרים
-
id [מזהה]
מחרוזת
-
destination
אובייקט
-
אינדקס
מספר אופציונלי
-
parentId
מחרוזת אופציונלי
-
החזרות
-
Promise<BookmarkTreeNode>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
remove()
browser.bookmarks.remove(
id: string,
): Promise<void>
הסרת סימנייה או תיקיית סימניות ריקה.
פרמטרים
-
id [מזהה]
מחרוזת
החזרות
-
Promise<void>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
removeTree()
browser.bookmarks.removeTree(
id: string,
): Promise<void>
הסרה רקורסיבית של תיקיית סימניות.
פרמטרים
-
id [מזהה]
מחרוזת
החזרות
-
Promise<void>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
search()
browser.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
חיפוש של BookmarkTreeNodes שתואמים לשאילתה הנתונה. שאילתות שצוינו עם אובייקט יוצרות BookmarkTreeNodes שתואמים לכל המאפיינים שצוינו.
פרמטרים
-
שאילתה
מחרוזת | אובייקט
מחרוזת של מילים וביטויים במירכאות שמותאמים לכתובות URL ולכותרות של סימניות, או אובייקט. אם מדובר באובייקט, אפשר לציין את המאפיינים
query,urlו-title, ויופקו סימניות שתואמות לכל המאפיינים שצוינו.-
שאילתה
מחרוזת אופציונלי
מחרוזת של מילים וביטויים במירכאות שמושוות לכתובות ה-URL ולכותרות של הסימניות.
-
title
מחרוזת אופציונלי
שם הסימנייה, התאמה מדויקת.
-
url
מחרוזת אופציונלי
כתובת ה-URL של הסימנייה, התאמה מדויקת. שימו לב שלתיקיות אין כתובת URL.
-
החזרות
-
Promise<BookmarkTreeNode[]>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
update()
browser.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
מעדכן את המאפיינים של סימנייה או תיקייה. ציינו רק את המאפיינים שאתם רוצים לשנות. מאפיינים שלא תציינו יישארו ללא שינוי. הערה: בשלב הזה, רק "כותרת" ו"כתובת URL" נתמכות.
פרמטרים
-
id [מזהה]
מחרוזת
-
שינויים
אובייקט
-
title
מחרוזת אופציונלי
-
url
מחרוזת אופציונלי
-
החזרות
-
Promise<BookmarkTreeNode>
Chrome 90 ואילך browser.* מגרסה 148 של Chrome
אירועים
onChanged
browser.bookmarks.onChanged.addListener(
callback: function,
)
מופעל כשסימנייה או תיקייה משתנות. הערה: בשלב הזה, רק שינויים בכותרת ובכתובת ה-URL מפעילים את זה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(id: string, changeInfo: object) => void
-
id [מזהה]
מחרוזת
-
changeInfo
אובייקט
-
title
מחרוזת
-
url
מחרוזת אופציונלי
-
-
onChildrenReordered
browser.bookmarks.onChildrenReordered.addListener(
callback: function,
)
מופעל כשהסדר של הצאצאים של תיקייה השתנה בגלל שהסדר מוין בממשק המשתמש. הפונקציה הזו לא נקראת כתוצאה מ-()move.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(id: string, reorderInfo: object) => void
-
id [מזהה]
מחרוזת
-
reorderInfo
אובייקט
-
childIds
string[]
-
-
onCreated
browser.bookmarks.onCreated.addListener(
callback: function,
)
מופעל כשנוצרת סימנייה או תיקייה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(id: string, bookmark: BookmarkTreeNode) => void
-
id [מזהה]
מחרוזת
-
סימנייה
-
onImportBegan
browser.bookmarks.onImportBegan.addListener(
callback: function,
)
מופעל כשמתחיל סשן של ייבוא סימניות. משקיפים יקרים צריכים להתעלם מעדכוני onCreated עד להפעלת onImportEnded. הצופים עדיין צריכים לטפל בהתראות אחרות באופן מיידי.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:() => void
onImportEnded
browser.bookmarks.onImportEnded.addListener(
callback: function,
)
מופעל כשסשן ייבוא של סימניות מסתיים.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:() => void
onMoved
browser.bookmarks.onMoved.addListener(
callback: function,
)
מופעל כשסימנייה או תיקייה מועברות לתיקיית הורה אחרת.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(id: string, moveInfo: object) => void
-
id [מזהה]
מחרוזת
-
moveInfo
אובייקט
-
אינדקס
number
-
oldIndex
number
-
oldParentId
מחרוזת
-
parentId
מחרוזת
-
-
onRemoved
browser.bookmarks.onRemoved.addListener(
callback: function,
)
מופעל כשמסירים סימנייה או תיקייה. כשתיקייה מוסרת באופן רקורסיבי, נשלחת התראה אחת לגבי התיקייה, ולא נשלחות התראות לגבי התוכן שלה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(id: string, removeInfo: object) => void
-
id [מזהה]
מחרוזת
-
removeInfo
אובייקט
-
אינדקס
number
-
צומתChrome 48 ואילך browser.* החל מ-Chrome 148
-
parentId
מחרוזת
-
-