الوصف
استخدِم واجهة برمجة التطبيقات chrome.bookmarks
لإنشاء الإشارات المرجعية وتنظيمها واستخدامها بطرق أخرى. اطّلِع أيضًا على صفحات الإلغاء التي يمكنك استخدامها لإنشاء صفحة مخصّصة في "مدير الإشارات المرجعية".
الأذونات
bookmarks
يجب الإفصاح عن إذن "الإشارات المرجعية" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات Bookmarks API. على سبيل المثال:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
المفاهيم وطريقة الاستخدام
العناصر والخصائص
يتم تنظيم الإشارات المرجعية في شجرة، حيث تكون كل عقدة في الشجرة إما إشارة مرجعية أو مجلد (يُشار إليه أحيانًا باسم مجموعة). يتم تمثيل كل عقدة في الشجرة بعنصر bookmarks.BookmarkTreeNode.
يتم استخدام سمات BookmarkTreeNode
في جميع أنحاء واجهة برمجة التطبيقات 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);
},
);
ينشئ المقتطف التالي إشارة مرجعية تشير إلى مستندات المطوّرين الخاصة بالإضافات. بما أنّه لن يحدث أيّ شيء سيء في حال تعذّر إنشاء الإشارة المرجعية، لا يهتم هذا الرمز بتحديد دالة callback.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
لتجربة واجهة برمجة التطبيقات هذه، ثبِّت مثال Bookmarks API من مستودع chrome-extension-samples.
الأنواع
BookmarkTreeNode
عقدة (إما إشارة مرجعية أو مجلد) في شجرة الإشارات المرجعية يتم ترتيب العقد الفرعية ضمن المجلد الرئيسي.
أماكن إقامة
-
الأطفال
BookmarkTreeNode[] اختياري
قائمة مرتبة للعناصر الفرعية لهذه العقدة
-
dateAdded
رقم اختياري
وقت إنشاء هذه العقدة، بالمللي ثانية منذ تاريخ بدء حساب الفترة (
new Date(dateAdded)
). -
dateGroupModified
رقم اختياري
وقت آخر تغيير لمحتوى هذا المجلد، بالكيلوميلّي ثانية منذ بدء حساب الوقت
-
dateLastUsed
رقم اختياري
الإصدار 114 من Chrome والإصدارات الأحدثوقت فتح هذه العقدة آخر مرة، بالمللي ثانية منذ بدء حساب الوقت لم يتم ضبطه للمجلدات.
-
id
سلسلة
المعرّف الفريد للعقدة تكون المعرّفات فريدة ضمن الملف الشخصي الحالي، وتظل صالحة حتى بعد إعادة تشغيل المتصفّح.
-
المؤشر
رقم اختياري
موضع هذه العقدة بالاستناد إلى 0 ضمن المجلد الرئيسي
-
parentId
سلسلة اختيارية
id
للمجلد الرئيسي تم حذفها للعقدة الجذر. -
title
سلسلة
النص المعروض للعقدة
-
غير قابل للتعديل
"مُدار"
اختيارييشير إلى سبب عدم إمكانية تعديل هذه العقدة. تشير القيمة
managed
إلى أنّ مشرف النظام أو حارس حساب مستخدم خاضع للإشراف قد أعدّ هذه العقدة. يتم حذفها إذا كان بإمكان المستخدم والإضافة تعديل العقدة (الإعداد التلقائي). -
url
سلسلة اختيارية
عنوان URL الذي يتم الانتقال إليه عند نقر المستخدم على الإشارة المرجعية. يتم حذفها للمجلدات.
BookmarkTreeNodeUnmodifiable
يشير إلى سبب عدم إمكانية تعديل هذه العقدة. تشير القيمة managed
إلى أنّ مشرف النظام هو من ضبط هذه العقدة. يتم حذفها إذا كان بإمكان المستخدم والإضافة تعديل العقدة (الإعداد التلقائي).
القيمة
"مُدار"
CreateDetails
العنصر الذي تم تمريره إلى الدالة create()
أماكن إقامة
-
المؤشر
رقم اختياري
-
parentId
سلسلة اختيارية
يتم ضبطه تلقائيًا على مجلد "الإشارات المرجعية الأخرى".
-
title
سلسلة اختيارية
-
url
سلسلة اختيارية
أماكن إقامة
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
لم تعُد عمليات الكتابة في الإشارات المرجعية مقيّدة بمتصفّح Chrome.
القيمة
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
لم تعُد عمليات الكتابة في الإشارات المرجعية مقيّدة بمتصفّح Chrome.
القيمة
1000000
الطُرق
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
تنشئ إشارة مرجعية أو مجلدًا ضمن معرّف parentId المحدّد. إذا كان عنوان URL غير صحيح أو غير متوفّر، سيكون المجلد.
المعلمات
-
إشارة مرجعية
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: BookmarkTreeNode) => void
-
نتيجة
-
المرتجعات
-
Promise<BookmarkTreeNode>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
لاسترداد BookmarkTreeNodes المحدّدة
المعلمات
-
idOrIdList
سلسلة | [سلسلة, ...سلسلة[]]
معرّف واحد بقيمة سلسلة أو مصفوفة من المعرّفات ذات القيمة سلسلة
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: BookmarkTreeNode[]) => void
-
النتائج
-
المرتجعات
-
Promise<BookmarkTreeNode[]>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
يسترجع العناصر الفرعية لمعرّف BookmarkTreeNode المحدّد.
المعلمات
-
id
سلسلة
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: BookmarkTreeNode[]) => void
-
النتائج
-
المرتجعات
-
Promise<BookmarkTreeNode[]>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
استرداد الإشارات المرجعية التي تمّت إضافتها مؤخرًا
المعلمات
-
numberOfItems
الرقم
الحد الأقصى لعدد العناصر التي سيتم عرضها
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: BookmarkTreeNode[]) => void
-
النتائج
-
المرتجعات
-
Promise<BookmarkTreeNode[]>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
استرداد جزء من التسلسل الهرمي للعلامات المرجعية، بدءًا من العقدة المحدّدة
المعلمات
-
id
سلسلة
معرّف جذر الشجرة الفرعية المطلوب استرجاعها.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: BookmarkTreeNode[]) => void
-
النتائج
-
المرتجعات
-
Promise<BookmarkTreeNode[]>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
يستردّ التسلسل الهرمي الكامل للإشارات المرجعية.
المعلمات
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: BookmarkTreeNode[]) => void
-
النتائج
-
المرتجعات
-
Promise<BookmarkTreeNode[]>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
تنقل هذه الوظيفة عنصر BookmarkTreeNode المحدّد إلى الموقع المقدَّم.
المعلمات
-
id
سلسلة
-
الوجهة
عنصر
-
المؤشر
رقم اختياري
-
parentId
سلسلة اختيارية
-
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: BookmarkTreeNode) => void
-
نتيجة
-
المرتجعات
-
Promise<BookmarkTreeNode>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
تزيل إشارة مرجعية أو مجلد إشارات مرجعية فارغ.
المعلمات
-
id
سلسلة
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
تزيل بشكل متكرر مجلد إشارة مرجعية.
المعلمات
-
id
سلسلة
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
تبحث عن BookmarkTreeNodes التي تتطابق مع طلب البحث المحدّد. تؤدي طلبات البحث المحدّدة باستخدام عنصر إلى إنشاء BookmarkTreeNodes تتطابق مع جميع المواقع المحدّدة.
المعلمات
-
query
سلسلة | عنصر
إما سلسلة من الكلمات والعبارات المقتبَسة التي تتم مطابقتها مع عناوين URL والعناوين للإشارات المرجعية، أو عنصر. إذا كان عنصرًا، يمكن تحديد السمات
query
وurl
وtitle
وسيتم إنشاء الإشارات المرجعية التي تتطابق مع جميع السمات المحدّدة.-
query
سلسلة اختيارية
سلسلة من الكلمات والعبارات المقتبَسة التي تتم مطابقتها مع عناوين URL والعناوين للإشارات المرجعية
-
title
سلسلة اختيارية
عنوان الإشارة المرجعية، يتطابق حرفيًا.
-
url
سلسلة اختيارية
عنوان URL للإشارة المرجعية، يتطابق حرفيًا. يُرجى العِلم أنّ المجلدات لا تحتوي على عنوان URL.
-
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(results: BookmarkTreeNode[]) => void
-
النتائج
-
المرتجعات
-
Promise<BookmarkTreeNode[]>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
تعديل خصائص إشارة مرجعية أو مجلد حدِّد السمات التي تريد تغييرها فقط، ولن يتم تغيير السمات غير المحدّدة. ملاحظة: لا تتوفّر حاليًا سوى السمتَين title وurl.
المعلمات
-
id
سلسلة
-
التغييرات
عنصر
-
title
سلسلة اختيارية
-
url
سلسلة اختيارية
-
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: BookmarkTreeNode) => void
-
نتيجة
-
المرتجعات
-
Promise<BookmarkTreeNode>
الإصدار 90 من Chrome والإصدارات الأحدثتتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير طلبات الاستدعاء لأجل التوافق مع الإصدارات القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.
الفعاليات
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
يتم تشغيله عند تغيير إشارة مرجعية أو مجلد. ملاحظة: في الوقت الحالي، لا يؤدي سوى تغيير العنوان وعنوان URL إلى حدوث ذلك.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(id: string, changeInfo: object) => void
-
id
سلسلة
-
changeInfo
عنصر
-
title
سلسلة
-
url
سلسلة اختيارية
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
يتم تشغيله عندما يتغيّر ترتيب العناصر الفرعية في مجلد بسبب ترتيبها في واجهة المستخدم. ولا يتمّ استدعاء هذا الإجراء نتيجةً لـ move().
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(id: string, reorderInfo: object) => void
-
id
سلسلة
-
reorderInfo
عنصر
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
يتم تشغيله عند إنشاء إشارة مرجعية أو مجلد.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(id: string, bookmark: BookmarkTreeNode) => void
-
id
سلسلة
-
إشارة مرجعية
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
يتم تشغيله عند بدء جلسة استيراد الإشارات المرجعية. يجب أن يتجاهل المراقبون المكلفون تحديثات onCreated إلى أن يتم تشغيل onImportEnded. على المراقبين التعامل مع الإشعارات الأخرى على الفور.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
يتم تشغيله عند انتهاء جلسة استيراد الإشارات المرجعية.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
يتم تشغيله عند نقل إشارة مرجعية أو مجلد إلى مجلد رئيسي مختلف.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(id: string, moveInfo: object) => void
-
id
سلسلة
-
moveInfo
عنصر
-
المؤشر
الرقم
-
oldIndex
الرقم
-
oldParentId
سلسلة
-
parentId
سلسلة
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
يتم تشغيله عند إزالة إشارة مرجعية أو مجلد. عند إزالة مجلد بشكل متكرّر، يتم عرض إشعار واحد للمجلد، ولا يتم عرض أي إشعارات لمحتويات المجلد.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(id: string, removeInfo: object) => void
-
id
سلسلة
-
removeInfo
عنصر
-
المؤشر
الرقم
-
عقدةChrome 48 والإصدارات الأحدث
-
parentId
سلسلة
-
-