বর্ণনা
বুকমার্ক তৈরি, সাজানো এবং অন্যান্যভাবে পরিচালনা করতে chrome.bookmarks API ব্যবহার করুন। এছাড়াও Override Pages দেখুন, যা ব্যবহার করে আপনি একটি কাস্টম বুকমার্ক ম্যানেজার পেজ তৈরি করতে পারবেন।

অনুমতি
bookmarksবুকমার্কস এপিআই ব্যবহার করার জন্য আপনাকে এক্সটেনশন ম্যানিফেস্টে "বুকমার্কস" পারমিশনটি অবশ্যই ঘোষণা করতে হবে। উদাহরণস্বরূপ:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
ধারণা এবং ব্যবহার
বস্তু এবং বৈশিষ্ট্য
বুকমার্কগুলো একটি ট্রি-তে সাজানো থাকে, যেখানে ট্রি-র প্রতিটি নোড হয় একটি বুকমার্ক অথবা একটি ফোল্ডার (কখনও কখনও গ্রুপও বলা হয়)। ট্রি-র প্রতিটি নোড একটি bookmarks.BookmarkTreeNode অবজেক্ট দ্বারা উপস্থাপিত হয়।
BookmarkTreeNode প্রোপার্টিগুলো browser.bookmarks API জুড়ে ব্যবহৃত হয়। উদাহরণস্বরূপ, যখন আপনি bookmarks.create কল করেন, তখন আপনি নতুন নোডটির প্যারেন্ট ( parentId ) এবং ঐচ্ছিকভাবে নোডটির index , title , ও url প্রোপার্টিগুলো পাস করেন। একটি নোডের কী কী প্রোপার্টি থাকতে পারে, সে সম্পর্কে তথ্যের জন্য bookmarks.BookmarkTreeNode দেখুন।
উদাহরণ
নিম্নলিখিত কোডটি "Extension bookmarks" শিরোনামে একটি ফোল্ডার তৈরি করে। 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-টি ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে Bookmarks API উদাহরণটি ইনস্টল করুন।
প্রকারভেদ
BookmarkTreeNode
বুকমার্ক ট্রি-এর একটি নোড (বুকমার্ক বা ফোল্ডার)। চাইল্ড নোডগুলো তাদের প্যারেন্ট ফোল্ডারের মধ্যে ক্রমানুসারে থাকে।
বৈশিষ্ট্য
- শিশুরা
BookmarkTreeNode [] ঐচ্ছিক
এই নোডের চাইল্ডগুলোর একটি ক্রমিক তালিকা।
- যোগ করার তারিখ
সংখ্যা ঐচ্ছিক
এই নোডটি কখন তৈরি হয়েছিল, ইপক থেকে মিলিসেকেন্ডে (
new Date(dateAdded))। - তারিখ গ্রুপ পরিবর্তিত
সংখ্যা ঐচ্ছিক
ইপক থেকে মিলিসেকেন্ডে, এই ফোল্ডারের বিষয়বস্তু শেষবার কখন পরিবর্তিত হয়েছিল।
- শেষবার ব্যবহারের তারিখ
সংখ্যা ঐচ্ছিক
ক্রোম ১১৪+এই নোডটি সর্বশেষ কখন খোলা হয়েছিল, ইপক থেকে মিলিসেকেন্ডে। ফোল্ডারের জন্য সেট করা নেই।
- ফোল্ডারের ধরন
ফোল্ডারের ধরন ঐচ্ছিক
ক্রোম ১৩৪+যদি উপস্থিত থাকে, এটি এমন একটি ফোল্ডার যা ব্রাউজার দ্বারা যুক্ত করা হয় এবং যা ব্যবহারকারী বা এক্সটেনশন দ্বারা পরিবর্তন করা যায় না। চাইল্ড নোডগুলি পরিবর্তন করা যেতে পারে, যদি এই নোডটিতে
unmodifiableপ্রপার্টি সেট করা না থাকে। যদি নোডটি ব্যবহারকারী এবং এক্সটেনশন দ্বারা পরিবর্তনযোগ্য হয়, তবে এটি বাদ দেওয়া হয় (ডিফল্ট)।প্রতিটি ফোল্ডার টাইপের শূন্য, একটি বা একাধিক নোড থাকতে পারে। ব্রাউজারের মাধ্যমে একটি ফোল্ডার যোগ বা অপসারণ করা যেতে পারে, কিন্তু এক্সটেনশন এপিআই (API) এর মাধ্যমে নয়।
- আইডি
স্ট্রিং
নোডটির অনন্য শনাক্তকারী। আইডিগুলো বর্তমান প্রোফাইলের মধ্যে অনন্য এবং ব্রাউজার পুনরায় চালু করার পরেও তা বৈধ থাকে।
- সূচক
সংখ্যা ঐচ্ছিক
এর প্যারেন্ট ফোল্ডারের মধ্যে এই নোডটির ০-ভিত্তিক অবস্থান।
- অভিভাবক আইডি
স্ট্রিং ঐচ্ছিক
প্যারেন্ট ফোল্ডারের
id। রুট নোডের জন্য এটি বাদ দেওয়া হয়। - সিঙ্কিং
বুলিয়ান
ক্রোম ১৩৪+এই নোডটি ব্রাউজারের মাধ্যমে ব্যবহারকারীর রিমোট অ্যাকাউন্ট স্টোরেজের সাথে সিঙ্ক করা আছে কি না। একই
FolderTypeএর অ্যাকাউন্ট-ভিত্তিক এবং শুধুমাত্র-স্থানীয় সংস্করণগুলোর মধ্যে পার্থক্য করতে এটি ব্যবহার করা যেতে পারে। একটি বিদ্যমান নোডের জন্য এই প্রপার্টির মান পরিবর্তিত হতে পারে, উদাহরণস্বরূপ ব্যবহারকারীর কোনো কার্যকলাপের ফলে।দ্রষ্টব্য: এটি নির্দেশ করে যে নোডটি ব্রাউজারের অন্তর্নির্মিত অ্যাকাউন্ট প্রোভাইডারে সংরক্ষিত আছে কি না। এই মানটি 'ফলস' হলেও, কোনো নোড তৃতীয় পক্ষের মাধ্যমে সিঙ্ক হওয়ার সম্ভাবনা থাকে।
ম্যানেজড নোডগুলির ক্ষেত্রে (যেসব নোডের ক্ষেত্রে
unmodifiableমান 'trueসেট করা থাকে), এই প্রপার্টিটির মান সর্বদাfalseহবে। - শিরোনাম
স্ট্রিং
নোডটির জন্য প্রদর্শিত লেখাটি।
- অপরিবর্তনীয়
"পরিচালিত"
ঐচ্ছিকএই নোডটি কেন অপরিবর্তনযোগ্য, তার কারণ নির্দেশ করে।
managedমানটি নির্দেশ করে যে এই নোডটি সিস্টেম অ্যাডমিনিস্ট্রেটর অথবা কোনো তত্ত্বাবধানাধীন ব্যবহারকারীর তত্ত্বাবধায়ক দ্বারা কনফিগার করা হয়েছিল। যদি নোডটি ব্যবহারকারী এবং এক্সটেনশন দ্বারা পরিবর্তনযোগ্য হয়, তবে এটি বাদ দেওয়া হয় (ডিফল্ট)। - ইউআরএল
স্ট্রিং ঐচ্ছিক
ব্যবহারকারী বুকমার্কে ক্লিক করলে যে ইউআরএল-এ যাওয়া হয়। ফোল্ডারের ক্ষেত্রে এটি বাদ দেওয়া হয়।
BookmarkTreeNodeUnmodifiable
এই নোডটি কেন অপরিবর্তনযোগ্য, তার কারণ নির্দেশ করে। managed মানটি নির্দেশ করে যে এই নোডটি সিস্টেম অ্যাডমিনিস্ট্রেটর দ্বারা কনফিগার করা হয়েছিল। যদি নোডটি ব্যবহারকারী এবং এক্সটেনশন দ্বারা পরিবর্তনযোগ্য হয়, তবে এটি বাদ দেওয়া হয় (ডিফল্ট)।
মূল্য
"পরিচালিত"
CreateDetails
create() ফাংশনে অবজেক্টটি পাঠানো হয়েছে।
বৈশিষ্ট্য
- সূচক
সংখ্যা ঐচ্ছিক
- অভিভাবক আইডি
স্ট্রিং ঐচ্ছিক
ডিফল্টরূপে 'অন্যান্য বুকমার্ক' ফোল্ডারটি ব্যবহৃত হয়।
- শিরোনাম
স্ট্রিং ঐচ্ছিক
- ইউআরএল
স্ট্রিং ঐচ্ছিক
FolderType
ফোল্ডারের ধরন নির্দেশ করে।
এনাম
"বুকমার্ক-বার" "অন্যান্য" "মোবাইল" "পরিচালিত"
যে ফোল্ডারটির বিষয়বস্তু ব্রাউজার উইন্ডোর শীর্ষে প্রদর্শিত হয়।
যে বুকমার্কগুলো সকল প্ল্যাটফর্মের বুকমার্কের সম্পূর্ণ তালিকায় প্রদর্শিত হয়।
বুকমার্কগুলি সাধারণত ব্যবহারকারীর মোবাইল ডিভাইসে পাওয়া যায়, তবে এক্সটেনশনের মাধ্যমে বা বুকমার্ক ম্যানেজারে সেগুলি পরিবর্তন করা যায়।
একটি শীর্ষ-স্তরের ফোল্ডার যা উপস্থিত থাকতে পারে যদি সিস্টেম প্রশাসক অথবা কোনো তত্ত্বাবধানাধীন ব্যবহারকারীর তত্ত্বাবধায়ক বুকমার্ক কনফিগার করে থাকেন।
বৈশিষ্ট্য
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
বুকমার্ক লেখার ক্ষমতা এখন আর ক্রোমের দ্বারা সীমাবদ্ধ নয়।
মূল্য
১০০০০০০
MAX_WRITE_OPERATIONS_PER_HOUR
বুকমার্ক লেখার ক্ষমতা এখন আর ক্রোমের দ্বারা সীমাবদ্ধ নয়।
মূল্য
১০০০০০০
ROOT_NODE_ID
রুট লেভেল নোডের সাথে যুক্ত id ।
মূল্য
"০"
পদ্ধতি
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
নির্দিষ্ট parentId-এর অধীনে একটি বুকমার্ক বা ফোল্ডার তৈরি করে। যদি url NULL বা অনুপস্থিত থাকে, তবে এটি একটি ফোল্ডার হবে।
প্যারামিটার
- বুকমার্ক
ফেরত
প্রতিশ্রুতি< বুকমার্কট্রিনোড >
ক্রোম ৯০+
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
নির্দিষ্ট BookmarkTreeNode(গুলি) পুনরুদ্ধার করে।
প্যারামিটার
- আইডি অথবা আইডি তালিকা
স্ট্রিং | [স্ট্রিং, ...স্ট্রিং[]]
একটি একক স্ট্রিং-ভিত্তিক আইডি, অথবা একাধিক স্ট্রিং-ভিত্তিক আইডির একটি অ্যারে
ফেরত
প্রতিশ্রুতি< BookmarkTreeNode []>
ক্রোম ৯০+
getChildren()
chrome.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
নির্দিষ্ট BookmarkTreeNode id-এর চাইল্ডগুলো পুনরুদ্ধার করে।
প্যারামিটার
- আইডি
স্ট্রিং
ফেরত
প্রতিশ্রুতি< BookmarkTreeNode []>
ক্রোম ৯০+
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
সম্প্রতি যোগ করা বুকমার্কগুলো পুনরুদ্ধার করে।
প্যারামিটার
- আইটেমের সংখ্যা
সংখ্যা
ফেরতযোগ্য পণ্যের সর্বোচ্চ সংখ্যা।
ফেরত
প্রতিশ্রুতি< BookmarkTreeNode []>
ক্রোম ৯০+
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
নির্দিষ্ট নোড থেকে শুরু করে বুকমার্ক শ্রেণিবিন্যাসের একটি অংশ পুনরুদ্ধার করে।
প্যারামিটার
- আইডি
স্ট্রিং
যে সাবট্রিটি পুনরুদ্ধার করতে হবে তার রুটের আইডি।
ফেরত
প্রতিশ্রুতি< BookmarkTreeNode []>
ক্রোম ৯০+
getTree()
chrome.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
সম্পূর্ণ বুকমার্কের স্তরবিন্যাস পুনরুদ্ধার করে।
ফেরত
প্রতিশ্রুতি< BookmarkTreeNode []>
ক্রোম ৯০+
move()
chrome.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
নির্দিষ্ট BookmarkTreeNode-টিকে প্রদত্ত অবস্থানে স্থানান্তর করে।
প্যারামিটার
- আইডি
স্ট্রিং
- গন্তব্য
বস্তু
- সূচক
সংখ্যা ঐচ্ছিক
- অভিভাবক আইডি
স্ট্রিং ঐচ্ছিক
ফেরত
প্রতিশ্রুতি< বুকমার্কট্রিনোড >
ক্রোম ৯০+
remove()
chrome.bookmarks.remove(
id: string,
): Promise<void>
একটি বুকমার্ক বা একটি খালি বুকমার্ক ফোল্ডার মুছে ফেলে।
প্যারামিটার
- আইডি
স্ট্রিং
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ৯০+
removeTree()
chrome.bookmarks.removeTree(
id: string,
): Promise<void>
পুনরাবৃত্তিমূলকভাবে একটি বুকমার্ক ফোল্ডার মুছে ফেলে।
প্যারামিটার
- আইডি
স্ট্রিং
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ৯০+
search()
chrome.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
প্রদত্ত কোয়েরির সাথে মেলে এমন BookmarkTreeNode-এর জন্য অনুসন্ধান করা হয়। কোনো অবজেক্টের মাধ্যমে নির্দিষ্ট করা কোয়েরিগুলো এমন BookmarkTreeNode তৈরি করে, যা তার সমস্ত নির্দিষ্ট বৈশিষ্ট্যের সাথে মেলে।
প্যারামিটার
- প্রশ্ন
স্ট্রিং | অবজেক্ট
এটি হয় শব্দ ও উদ্ধৃত বাক্যাংশের একটি স্ট্রিং যা বুকমার্ক ইউআরএল এবং শিরোনামের সাথে মেলানো হয়, অথবা একটি অবজেক্ট। যদি এটি একটি অবজেক্ট হয়, তবে
query,url, এবংtitleপ্রপার্টিগুলো নির্দিষ্ট করা যেতে পারে এবং নির্দিষ্ট সমস্ত প্রপার্টির সাথে মিলে যাওয়া বুকমার্কগুলো তৈরি করা হবে।- প্রশ্ন
স্ট্রিং ঐচ্ছিক
শব্দগুচ্ছ এবং উদ্ধৃত বাক্যাংশ যা বুকমার্ক করা ইউআরএল এবং শিরোনামের সাথে মেলানো হয়।
- শিরোনাম
স্ট্রিং ঐচ্ছিক
বুকমার্কের শিরোনামটি হুবহু মিলে যায়।
- ইউআরএল
স্ট্রিং ঐচ্ছিক
বুকমার্কের ইউআরএলটি হুবহু মিলে যায়। উল্লেখ্য যে, ফোল্ডারের কোনো ইউআরএল থাকে না।
ফেরত
প্রতিশ্রুতি< BookmarkTreeNode []>
ক্রোম ৯০+
update()
chrome.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
একটি বুকমার্ক বা ফোল্ডারের প্রোপার্টি আপডেট করে। শুধুমাত্র সেই প্রোপার্টিগুলোই নির্দিষ্ট করুন যা আপনি পরিবর্তন করতে চান; অনির্দিষ্ট প্রোপার্টিগুলো অপরিবর্তিত থাকবে। দ্রষ্টব্য: বর্তমানে, শুধুমাত্র 'title' এবং 'url' সমর্থিত।
প্যারামিটার
- আইডি
স্ট্রিং
- পরিবর্তন
বস্তু
- শিরোনাম
স্ট্রিং ঐচ্ছিক
- ইউআরএল
স্ট্রিং ঐচ্ছিক
ফেরত
প্রতিশ্রুতি< বুকমার্কট্রিনোড >
ক্রোম ৯০+
ইভেন্টগুলি
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
বুকমার্ক বা ফোল্ডার পরিবর্তিত হলে এটি সক্রিয় হয়। দ্রষ্টব্য: বর্তমানে, শুধুমাত্র শিরোনাম এবং ইউআরএল পরিবর্তিত হলেই এটি সক্রিয় হয়।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(id: string, changeInfo: object) => void
- আইডি
স্ট্রিং
- তথ্য পরিবর্তন করুন
বস্তু
- শিরোনাম
স্ট্রিং
- ইউআরএল
স্ট্রিং ঐচ্ছিক
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
UI-তে ক্রম সাজানোর কারণে কোনো ফোল্ডারের চাইল্ডগুলোর ক্রম পরিবর্তিত হলে এটি কল করা হয়। `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,
)
যখন একটি বুকমার্ক ইম্পোর্ট সেশন শুরু হয় তখন এটি ফায়ার হয়। ব্যয়বহুল অবজারভারদের onImportEnded ফায়ার না হওয়া পর্যন্ত onCreated আপডেটগুলি উপেক্ষা করা উচিত। অবজারভারদের অবশ্য অন্যান্য নোটিফিকেশনগুলি অবিলম্বে পরিচালনা করা উচিত।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
বুকমার্ক ইম্পোর্ট সেশন শেষ হলে এটি সক্রিয় হয়।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
যখন কোনো বুকমার্ক বা ফোল্ডারকে তার মূল ফোল্ডার থেকে অন্য কোনো ফোল্ডারে সরানো হয়, তখন এই ফাংশনটি চালু হয়।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(id: string, moveInfo: object) => void
- আইডি
স্ট্রিং
- moveInfo
বস্তু
- সূচক
সংখ্যা
- পুরাতন সূচক
সংখ্যা
- oldParentId
স্ট্রিং
- অভিভাবক আইডি
স্ট্রিং
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
যখন কোনো বুকমার্ক বা ফোল্ডার মুছে ফেলা হয় তখন এটি সক্রিয় হয়। যখন কোনো ফোল্ডার পুনরাবৃত্তিমূলকভাবে মুছে ফেলা হয়, তখন ফোল্ডারটির জন্য একটিমাত্র বিজ্ঞপ্তি সক্রিয় হয় এবং এর ভেতরের বিষয়বস্তুর জন্য কোনো বিজ্ঞপ্তি সক্রিয় হয় না।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(id: string, removeInfo: object) => void
- আইডি
স্ট্রিং
- তথ্য অপসারণ করুন
বস্তু
- সূচক
সংখ্যা
- নোডক্রোম ৪৮+
- অভিভাবক আইডি
স্ট্রিং