این مجوز باعث ایجاد هشدار میشود .
توضیحات
از API chrome.bookmarks برای ایجاد، سازماندهی و دستکاری بوکمارکها استفاده کنید. همچنین به بخش Override Pages مراجعه کنید که میتوانید از آن برای ایجاد یک صفحه مدیریت بوکمارک سفارشی استفاده کنید.
مجوزها
bookmarks 
مانیفست
برای استفاده از API بوکمارکها، باید مجوز "bookmarks" را در مانیفست افزونه اعلام کنید. برای مثال:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
اشیاء و ویژگیها
بوکمارکها در یک درخت سازماندهی میشوند، که در آن هر گره در درخت یا یک بوکمارک است یا یک پوشه (که گاهی اوقات گروه نامیده میشود). هر گره در درخت توسط یک شیء bookmarks.BookmarkTreeNode نمایش داده میشود.
ویژگیهای BookmarkTreeNode در سراسر API chrome.bookmarks استفاده میشوند. برای مثال، وقتی 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);
},
);
قطعه کد بعدی یک نشانهگذاری (bookmark) ایجاد میکند که به مستندات توسعهدهنده برای افزونهها اشاره میکند. از آنجایی که در صورت عدم موفقیت در ایجاد نشانهگذاری، اتفاق بدی رخ نخواهد داد، این کد نیازی به تعریف یک تابع فراخوانی (callback function) ندارد.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
برای امتحان کردن این API، نمونه API نشانکها را از مخزن chrome-extension-samples نصب کنید.
انواع
BookmarkTreeNode
یک گره (یا یک نشانهگر یا یک پوشه) در درخت نشانهگر. گرههای فرزند در پوشه والد خود مرتب شدهاند.
خواص
- کودکان
BookmarkTreeNode [] اختیاری
یک لیست مرتب از فرزندان این گره.
- تاریخ اضافه شد
شماره اختیاری
وقتی این گره ایجاد شد، بر حسب میلیثانیه از زمان شروع (
new Date(dateAdded)). - تاریخ گروه اصلاحشده
شماره اختیاری
آخرین باری که محتویات این پوشه تغییر کرده است، بر حسب میلیثانیه از زمان شروع.
- تاریخآخرین استفاده
شماره اختیاری
کروم ۱۱۴+آخرین باری که این گره باز شده است، بر حسب میلیثانیه از زمان شروع. برای پوشهها تنظیم نشده است.
- نوع پوشه
نوع پوشه اختیاری
کروم ۱۳۴+در صورت وجود، این پوشهای است که توسط مرورگر اضافه میشود و توسط کاربر یا افزونه قابل تغییر نیست. گرههای فرزند را میتوان تغییر داد، اگر این گره ویژگی
unmodifiableنداشته باشد. اگر گره توسط کاربر و افزونه قابل تغییر باشد، حذف میشود (پیشفرض).ممکن است صفر، یک یا چندین گره از هر نوع پوشه وجود داشته باشد. یک پوشه میتواند توسط مرورگر اضافه یا حذف شود، اما نه از طریق API افزونهها.
- شناسه
رشته
شناسه منحصر به فرد برای گره. شناسهها در پروفایل فعلی منحصر به فرد هستند و حتی پس از راهاندازی مجدد مرورگر نیز معتبر باقی میمانند.
- شاخص
شماره اختیاری
موقعیت مبتنی بر ۰ این گره در پوشه والدش.
- شناسه والدین
رشته اختیاری
idپوشه والد. برای گره ریشه حذف میشود. - همگامسازی
بولی
کروم ۱۳۴+اینکه آیا این گره توسط مرورگر با حافظه حساب کاربری از راه دور کاربر همگامسازی شده است یا خیر. این میتواند برای تمایز بین نسخههای حساب کاربری و فقط محلی از یک
FolderTypeیکسان استفاده شود. مقدار این ویژگی ممکن است برای یک گره موجود تغییر کند، به عنوان مثال در نتیجه اقدام کاربر.توجه: این نشان میدهد که آیا گره در ارائهدهنده حساب داخلی مرورگر ذخیره شده است یا خیر. این امکان وجود دارد که یک گره از طریق شخص ثالث همگامسازی شود، حتی اگر این مقدار نادرست باشد.
برای گرههای مدیریتشده (گرههایی که
unmodifiableدر آنها رویtrueتنظیم شده است)، این ویژگی همیشهfalseخواهد بود. - عنوان
رشته
متنی که برای گره نمایش داده میشود.
- غیرقابل اصلاح
"مدیریت شده"
اختیاریدلیل غیرقابل تغییر بودن این گره را نشان میدهد. مقدار
managedنشان میدهد که این گره توسط مدیر سیستم یا توسط متولی یک کاربر تحت نظارت پیکربندی شده است. در صورتی که گره توسط کاربر و افزونه قابل تغییر باشد، حذف میشود (پیشفرض). - آدرس اینترنتی
رشته اختیاری
آدرس اینترنتی (URL) که کاربر هنگام کلیک روی نشانک به آن هدایت میشود. برای پوشهها حذف شده است.
BookmarkTreeNodeUnmodifiable
دلیل غیرقابل تغییر بودن این گره را نشان میدهد. مقدار managed نشان میدهد که این گره توسط مدیر سیستم پیکربندی شده است. در صورتی که گره توسط کاربر و افزونه قابل تغییر باشد، حذف میشود (پیشفرض).
ارزش
"مدیریت شده"
CreateDetails
شیء ارسال شده به تابع ()create.
خواص
- شاخص
شماره اختیاری
- شناسه والدین
رشته اختیاری
به طور پیشفرض در پوشهی Other Bookmarks قرار دارد.
- عنوان
رشته اختیاری
- آدرس اینترنتی
رشته اختیاری
FolderType
نوع پوشه را نشان میدهد.
شمارشی
"نوار نشانکها" «دیگر» «موبایل» "مدیریت شده"
پوشهای که محتویات آن در بالای پنجره مرورگر نمایش داده میشود.
نشانکهایی که در فهرست کامل نشانکها در همه پلتفرمها نمایش داده میشوند.
نشانکها عموماً در دستگاههای تلفن همراه کاربر موجود هستند، اما از طریق افزونه یا در مدیریت نشانکها قابل تغییر هستند.
یک پوشه سطح بالا که ممکن است در صورتی وجود داشته باشد که مدیر سیستم یا متولی یک کاربر تحت نظارت، بوکمارکها را پیکربندی کرده باشد.
خواص
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
عملیات نوشتن بوکمارک دیگر توسط کروم محدود نمیشود.
ارزش
۱۰۰۰۰۰۰
MAX_WRITE_OPERATIONS_PER_HOUR
عملیات نوشتن بوکمارک دیگر توسط کروم محدود نمیشود.
ارزش
۱۰۰۰۰۰۰
ROOT_NODE_ID
id مرتبط با گره سطح ریشه.
ارزش
«0»
روشها
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
): Promise<BookmarkTreeNode>
یک بوکمارک یا پوشه تحت parentId مشخص شده ایجاد میکند. اگر url برابر با NULL باشد یا وجود نداشته باشد، یک پوشه خواهد بود.
پارامترها
- نشانهگذاری
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(result: BookmarkTreeNode) => void
- نتیجه
بازگشتها
قول< BookmarkTreeNode >
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
): Promise<BookmarkTreeNode[]>
BookmarkTreeNode(s) مشخص شده را بازیابی میکند.
پارامترها
- idOrIdList
رشته | [رشته، ...رشته[]]
یک شناسه رشتهای واحد، یا آرایهای از شناسههای رشتهای
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(results: BookmarkTreeNode[]) => void
- نتایج
بازگشتها
قول< BookmarkTreeNode []>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
فرزندان شناسهی BookmarkTreeNode مشخص شده را بازیابی میکند.
پارامترها
- شناسه
رشته
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(results: BookmarkTreeNode[]) => void
- نتایج
بازگشتها
قول< BookmarkTreeNode []>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
): Promise<BookmarkTreeNode[]>
نشانکهای اخیراً اضافه شده را بازیابی میکند.
پارامترها
- تعداد اقلام
شماره
حداکثر تعداد اقلامی که باید بازگردانده شوند.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(results: BookmarkTreeNode[]) => void
- نتایج
بازگشتها
قول< BookmarkTreeNode []>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
بخشی از سلسله مراتب نشانکها را با شروع از گره مشخص شده بازیابی میکند.
پارامترها
- شناسه
رشته
شناسهی ریشهی زیردرختی که قرار است بازیابی شود.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(results: BookmarkTreeNode[]) => void
- نتایج
بازگشتها
قول< BookmarkTreeNode []>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getTree()
chrome.bookmarks.getTree(
callback?: function,
): Promise<BookmarkTreeNode[]>
کل سلسله مراتب نشانکها را بازیابی میکند.
پارامترها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(results: BookmarkTreeNode[]) => void
- نتایج
بازگشتها
قول< BookmarkTreeNode []>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
): Promise<BookmarkTreeNode>
BookmarkTreeNode مشخص شده را به مکان ارائه شده منتقل میکند.
پارامترها
- شناسه
رشته
- مقصد
شیء
- شاخص
شماره اختیاری
- شناسه والدین
رشته اختیاری
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(result: BookmarkTreeNode) => void
- نتیجه
بازگشتها
قول< BookmarkTreeNode >
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
): Promise<void>
یک نشانک یا یک پوشه نشانک خالی را حذف میکند.
پارامترها
- شناسه
رشته
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
): Promise<void>
به صورت بازگشتی یک پوشه بوکمارک را حذف میکند.
پارامترها
- شناسه
رشته
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
): Promise<BookmarkTreeNode[]>
جستجو برای BookmarkTreeNodes مطابق با پرس و جوی داده شده. پرس و جوهای مشخص شده با یک شیء، BookmarkTreeNodes مطابق با تمام ویژگیهای مشخص شده را تولید میکنند.
پارامترها
- پرس و جو
رشته | شیء
یا رشتهای از کلمات و عبارات نقل قول شده که با URLها و عناوین بوکمارک مطابقت دارند، یا یک شیء. اگر یک شیء باشد، میتوان ویژگیهای
query،urlوtitleرا مشخص کرد و بوکمارکهایی که با تمام ویژگیهای مشخص شده مطابقت دارند، تولید میشوند.- پرس و جو
رشته اختیاری
رشتهای از کلمات و عبارات نقل قول شده که با URLها و عناوین بوکمارکها مطابقت دارند.
- عنوان
رشته اختیاری
عنوان نشانک؛ کلمه به کلمه مطابقت دارد.
- آدرس اینترنتی
رشته اختیاری
آدرس اینترنتی نشانک؛ کلمه به کلمه مطابقت دارد. توجه داشته باشید که پوشهها آدرس اینترنتی ندارند.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(results: BookmarkTreeNode[]) => void
- نتایج
بازگشتها
قول< BookmarkTreeNode []>
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
): Promise<BookmarkTreeNode>
ویژگیهای یک نشانهگذاری یا پوشه را بهروزرسانی میکند. فقط ویژگیهایی را که میخواهید تغییر دهید مشخص کنید؛ ویژگیهای نامشخص بدون تغییر باقی میمانند. توجه: در حال حاضر، فقط «عنوان» و «آدرس اینترنتی» پشتیبانی میشوند.
پارامترها
- شناسه
رشته
- تغییرات
شیء
- عنوان
رشته اختیاری
- آدرس اینترنتی
رشته اختیاری
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(result: BookmarkTreeNode) => void
- نتیجه
بازگشتها
قول< BookmarkTreeNode >
کروم ۹۰+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
رویدادها
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
وقتی یک نشانک یا پوشه تغییر میکند، فعال میشود. توجه: در حال حاضر، فقط تغییرات عنوان و آدرس اینترنتی این را فعال میکنند.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(id: string, changeInfo: object) => void
- شناسه
رشته
- تغییراطلاعات
شیء
- عنوان
رشته
- آدرس اینترنتی
رشته اختیاری
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
زمانی اجرا میشود که فرزندان یک پوشه به دلیل ترتیب مرتبسازی در رابط کاربری، ترتیب خود را تغییر داده باشند. این تابع در نتیجهی تابع ()move فراخوانی نمیشود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(id: string, reorderInfo: object) => void
- شناسه
رشته
- اطلاعات سفارش مجدد
شیء
- شناسههای فرزند
رشته[]
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
هنگام ایجاد یک بوکمارک یا پوشه، فعال میشود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(id: string, bookmark: BookmarkTreeNode) => void
- شناسه
رشته
- نشانهگذاری
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
- شناسه
رشته
- اطلاعات حرکت
شیء
- شاخص
شماره
- oldIndex
شماره
- شناسه والدین قدیمی
رشته
- شناسه والدین
رشته
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
وقتی یک بوکمارک یا پوشه حذف میشود، فعال میشود. وقتی یک پوشه به صورت بازگشتی حذف میشود، یک اعلان برای پوشه فعال میشود و هیچ اعلانی برای محتویات آن فعال نمیشود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(id: string, removeInfo: object) => void
- شناسه
رشته
- حذف اطلاعات
شیء
- شاخص
شماره
- گرهکروم ۴۸+
- شناسه والدین
رشته