বিবরণ
ব্রাউজারের ভিজিট করা পৃষ্ঠার রেকর্ডের সাথে ইন্টার্যাক্ট করতে chrome.history API ব্যবহার করুন। আপনি ব্রাউজারের ইতিহাসে URL যোগ করতে, সরাতে এবং কোয়েরি করতে পারবেন। আপনার নিজস্ব ভার্সন দিয়ে ইতিহাস পৃষ্ঠা ওভাররাইড করতে, ওভাররাইড পৃষ্ঠা দেখুন।
অনুমতি
historyব্যবহারকারীর ব্রাউজার ইতিহাসের সাথে ইন্টার্যাক্ট করতে, ইতিহাস API ব্যবহার করুন।
ইতিহাস API ব্যবহার করতে, এক্সটেনশন ম্যানিফেস্টে "history" অনুমতি ঘোষণা করুন। যেমন:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
ধারণা ও ব্যবহার
ট্রানজিশনের ধরন
কোনও নির্দিষ্ট ভিজিটে ব্রাউজার কীভাবে কোনও নির্দিষ্ট URL-এ নেভিগেট করেছে তা বর্ণনা করতে, ইতিহাস API ট্রানজিশনের ধরন ব্যবহার করে। যেমন, কোনও ব্যবহারকারী অন্য পৃষ্ঠার লিঙ্কে ক্লিক করে কোনও পৃষ্ঠা দেখলে, ট্রানজিশনের ধরন হল "লিঙ্ক"। ট্রানজিশনের প্রকারের তালিকার জন্য রেফারেন্স কন্টেন্ট দেখুন।
উদাহরণ
এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে history API-এর উদাহরণ ইনস্টল করুন।
ধরন
HistoryItem
ইতিহাস কোয়েরির একটি ফলাফল এনক্যাপসুলেট করা অবজেক্ট।
প্রপার্টি
-
id
স্ট্রিং
আইটেমের জন্য অনন্য শনাক্তকারী।
-
lastVisitTime
নম্বর ঐচ্ছিক
এই পৃষ্ঠাটি শেষবার কখন লোড করা হয়েছিল, তা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।
-
শীর্ষক
স্ট্রিং ঐচ্ছিক
শেষবার লোড হওয়ার সময় পৃষ্ঠার শীর্ষক।
-
typedCount
নম্বর ঐচ্ছিক
ব্যবহারকারী কতবার অ্যাড্রেস টাইপ করে এই পৃষ্ঠায় নেভিগেট করেছেন।
-
URL
স্ট্রিং ঐচ্ছিক
ব্যবহারকারী যে URL-এ নেভিগেট করেছেন।
-
visitCount
নম্বর ঐচ্ছিক
ব্যবহারকারী যতবার এই পৃষ্ঠায় নেভিগেট করেছেন।
Enum
"লিঙ্ক"
ব্যবহারকারী অন্য পৃষ্ঠার লিঙ্কে ক্লিক করে এই পৃষ্ঠায় এসেছেন।
"টাইপ করা"
ব্যবহারকারী অ্যাড্রেস বারে URL টাইপ করে এই পৃষ্ঠায় এসেছেন। এছাড়াও, এটি অন্যান্য স্পষ্ট নেভিগেশন অ্যাকশনের জন্য ব্যবহার করা হয়।
"auto_bookmark"
ব্যবহারকারী UI-তে দেখানো সাজেশন থেকে এই পৃষ্ঠায় এসেছেন, যেমন, মেনু আইটেমের মাধ্যমে।
"auto_subframe"
ব্যবহারকারী সাবফ্রেম নেভিগেশনের মাধ্যমে এই পৃষ্ঠায় এসেছেন, যার জন্য তিনি অনুরোধ করেননি, যেমন আগের পৃষ্ঠার ফ্রেমে লোড হওয়া বিজ্ঞাপনের মাধ্যমে। এগুলি সবসময় 'পিছনে যান' ও 'সামনে যান' মেনুতে নতুন নেভিগেশন এন্ট্রি তৈরি করে না।
"manual_subframe"
ব্যবহারকারী সাবফ্রেমের কোনও কিছু বেছে নিয়ে এই পৃষ্ঠায় এসেছেন।
"জেনারেট করা"
ব্যবহারকারী অ্যাড্রেস বারে টাইপ করে এবং URL-এর মতো দেখতে নয় এমন একটি এন্ট্রি বেছে নিয়ে এই পৃষ্ঠায় এসেছেন, যেমন Google Search সাজেশন। যেমন, কোনও মিলে Google Search ফলাফল পৃষ্ঠার URL থাকতে পারে, কিন্তু ব্যবহারকারীকে "...-এর জন্য Google-এ সার্চ করুন" হিসেবে দেখানো হতে পারে। এগুলি টাইপ করা নেভিগেশনের থেকে আলাদা কারণ ব্যবহারকারী গন্তব্য URL টাইপ করেননি বা দেখেননি। এগুলি কীওয়ার্ড নেভিগেশনের সাথেও সম্পর্কিত।
"auto_toplevel"
পৃষ্ঠাটি কমান্ড লাইনে নির্দিষ্ট করা হয়েছে বা এটি শুরুর পৃষ্ঠা।
"form_submit"
ব্যবহারকারী একটি ফর্মে ভ্যালু পূরণ করে এবং ফর্মটি জমা দিয়ে এই পৃষ্ঠায় এসেছেন। সব ফর্ম জমা দেওয়ার ক্ষেত্রে এই ট্রানজিশনের ধরন ব্যবহার করা হয় না।
"রিলোড"
ব্যবহারকারী রিলোড বোতামে ক্লিক করে অথবা অ্যাড্রেস বারে Enter প্রেস করে পৃষ্ঠাটি রিলোড করেছেন। সেশন ফিরিয়ে আনা এবং বন্ধ করা ট্যাব আবার খোলার ক্ষেত্রেও এই ট্রানজিশনের ধরন ব্যবহার করা হয়।
"কীওয়ার্ড"
এই পৃষ্ঠার URL ডিফল্ট সার্চ পরিষেবা প্রদানকারী ছাড়া অন্য কোনও পরিবর্তনযোগ্য কীওয়ার্ড থেকে তৈরি করা হয়েছে।
"keyword_generated"
কোনও কীওয়ার্ডের জন্য তৈরি হওয়া ভিজিটের সাথে সম্পর্কিত।
UrlDetails
প্রপার্টি
-
URL
স্ট্রিং
অপারেশনের জন্য URL।
history.search()-এ কল করার পরে যে ফর্ম্যাটে উত্তর পাওয়া যায়, এটি সেই ফর্ম্যাটে হতে হবে।
VisitItem
একটি URL-এ একটি ভিজিট এনক্যাপসুলেট করা অবজেক্ট।
প্রপার্টি
-
id
স্ট্রিং
সংশ্লিষ্ট
history.HistoryItem-এর অনন্য শনাক্তকারী। -
isLocal
বুলিয়ান
Chrome 115+ Chrome 148 থেকে browser.*এই ডিভাইস থেকে ভিজিট শুরু হলে ট্রু। অন্য ডিভাইস থেকে সিঙ্ক করা হলে, সেটি 'ফল্স' বলে গণ্য করা হবে।
-
referringVisitId
স্ট্রিং
রেফারারের ভিজিট আইডি।
-
ট্রানজিশন
এই ভিজিটের জন্য রেফারার থেকে ট্রানজিশনের ধরন।
-
visitId
স্ট্রিং
এই ভিজিটের জন্য অনন্য শনাক্তকারী।
-
visitTime
নম্বর ঐচ্ছিক
এই ভিজিট কখন হয়েছে, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।
পদ্ধতি
addUrl()
browser.history.addUrl(
details: UrlDetails,
): Promise<void>
"লিঙ্ক" ট্রানজিশন টাইপ সহ বর্তমান সময়ে ইতিহাসে একটি URL যোগ করে।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
রিটার্ন
-
<void> প্রমিস
Chrome 96+ Chrome 148 থেকে browser.*
deleteAll()
browser.history.deleteAll(): Promise<void>
ইতিহাস থেকে সব আইটেম মুছে দেয়।
রিটার্ন
-
<void> প্রমিস
Chrome 96+ Chrome 148 থেকে browser.*
deleteRange()
browser.history.deleteRange(
range: object,
): Promise<void>
ইতিহাস থেকে নির্দিষ্ট তারিখের রেঞ্জের মধ্যে থাকা সব আইটেম সরিয়ে দেয়। সব ভিজিট রেঞ্জের মধ্যে না পড়লে ইতিহাস থেকে পৃষ্ঠা সরানো হবে না।
প্যারামিটারগুলি
-
রেঞ্জ
অবজেক্ট
-
endTime
নম্বর
এই তারিখের আগে ইতিহাসে যোগ করা আইটেম, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।
-
startTime
নম্বর
এই তারিখের পরে ইতিহাসে যোগ করা আইটেম, যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।
-
রিটার্ন
-
<void> প্রমিস
Chrome 96+ Chrome 148 থেকে browser.*
deleteUrl()
browser.history.deleteUrl(
details: UrlDetails,
): Promise<void>
ইতিহাস থেকে প্রদত্ত URL-এর সব ঘটনা সরিয়ে দেয়।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
রিটার্ন
-
<void> প্রমিস
Chrome 96+ Chrome 148 থেকে browser.*
getVisits()
browser.history.getVisits(
details: UrlDetails,
): Promise<VisitItem[]>
কোনও URL-এ ভিজিট সংক্রান্ত তথ্য ফিরিয়ে আনে।
প্যারামিটারগুলি
-
বিস্তারিত বিবরণ
রিটার্ন
-
<VisitItem[]>প্রতিশ্রুতি
Chrome 96+ Chrome 148 থেকে browser.*
search()
browser.history.search(
query: object,
): Promise<HistoryItem[]>
কোয়েরির সাথে ম্যাচ করে এমন প্রতিটি পৃষ্ঠার শেষবার ভিজিট করার সময় হিস্ট্রিতে সার্চ করে।
প্যারামিটারগুলি
-
কোয়েরি
অবজেক্ট
-
endTime
নম্বর ঐচ্ছিক
এই তারিখের আগে ভিজিট করা হয়েছে এমন ফলাফলে সীমাবদ্ধ করুন, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।
-
maxResults
নম্বর ঐচ্ছিক
যতগুলি ফলাফল রিট্রিভ করা যাবে। ডিফল্ট হিসেবে ১০০ সেট করা থাকে।
-
startTime
নম্বর ঐচ্ছিক
এই তারিখের পরে যারা ভিজিট করেছেন তাদের মধ্যে ফলাফল সীমাবদ্ধ করুন, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে। প্রপার্টি উল্লেখ করা না থাকলে, ডিফল্ট হিসেবে ২৪ ঘণ্টা সেট করা হবে।
-
মেসেজ পাঠান
স্ট্রিং
ইতিহাস পরিষেবাতে একটি ফ্রি-টেক্সট কোয়েরি। সব পৃষ্ঠা ফিরিয়ে আনতে এটি খালি রাখুন।
-
রিটার্ন
-
Promise<HistoryItem[]>
Chrome 96+ Chrome 148 থেকে browser.*
ইভেন্ট
onVisited
browser.history.onVisited.addListener(
callback: function,
)
কোনও URL ভিজিট করা হলে, সেই URL-এর জন্য HistoryItem ডেটা প্রদান করে ফায়ার করা হয়। পৃষ্ঠা লোড হওয়ার আগে এই ইভেন্ট ফায়ার হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(result: HistoryItem) => void
-
ফলাফল
-
onVisitRemoved
browser.history.onVisitRemoved.addListener(
callback: function,
)
ইতিহাস থেকে এক বা একাধিক URL সরানো হলে ফায়ার করা হয়। সব ভিজিট মুছে দেওয়া হলে, ইতিহাস থেকে URL মুছে যায়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(removed: object) => void
-
সরানো হয়েছে
অবজেক্ট
-
allHistory
বুলিয়ান
সব ইতিহাস মুছে দেওয়া হলে ট্রু। সত্য হলে, URL খালি থাকবে।
-
URL
string[] ঐচ্ছিক
-
-