chrome.history

রিফ্রেশ করার তারিখ: ২৫-০৯-২০২৬ রোবট: noindex

বিবরণ

ভিজিট করা পৃষ্ঠার ব্রাউজার রেকর্ডের সাথে ইন্টার‍্যাক্ট করতে chrome.history API ব্যবহার করুন। আপনি ব্রাউজারের ইতিহাসে URL যোগ করতে, সরাতে এবং কোয়েরি করতে পারবেন। আপনার নিজস্ব ভার্সন দিয়ে ইতিহাস পৃষ্ঠা ওভাররাইড করতে, ওভাররাইড পৃষ্ঠা দেখুন।

অনুমতি

history

ম্যানিফেস্ট

ইতিহাস API ব্যবহার করতে আপনাকে অবশ্যই এক্সটেনশন ম্যানিফেস্টে "ইতিহাস" সংক্রান্ত অনুমতি ঘোষণা করতে হবে। যেমন:

{
  "name": "My extension",
  ...
  "permissions": [
    "history"
  ],
  ...
}

ট্রানজিশনের ধরন

ইতিহাস API একটি ট্রানজিশন টাইপ ব্যবহার করে বর্ণনা করে যে ব্রাউজার কীভাবে একটি নির্দিষ্ট ভিজিটে একটি নির্দিষ্ট URL-এ নেভিগেট করেছে। যেমন, কোনও ব্যবহারকারী অন্য পৃষ্ঠায় থাকা লিঙ্কে ক্লিক করে কোনও পৃষ্ঠায় গেলে, ট্রানজিশন টাইপ হল "লিঙ্ক"।

নিচের সারণীতে প্রতিটি ট্রানজিশনের ধরন সম্পর্কে বর্ণনা করা হয়েছে।

ট্রানজিশনের ধরনবিবরণ
"টাইপ করা"ব্যবহারকারী অ্যাড্রেস বারে URL লিখে এই পৃষ্ঠা পেয়েছেন। এছাড়াও, অন্যান্য স্পষ্ট নেভিগেশন অ্যাকশনের জন্য ব্যবহার করা হয়। এছাড়াও, জেনারেটেড দেখুন, এটি এমন ক্ষেত্রে ব্যবহার করা হয় যেখানে ব্যবহারকারী এমন একটি পছন্দ বেছে নিয়েছেন যা কোনও URL-এর মতো দেখতে নয়।
"auto_bookmark"ব্যবহারকারী UI-তে সাজেশন থেকে এই পৃষ্ঠায় এসেছেন—যেমন, মেনু আইটেমের মাধ্যমে।
"auto_subframe"সাবফ্রেম নেভিগেশন। এটি হল এমন যেকোনও কন্টেন্ট যা নন-টপ-লেভেল ফ্রেমে অটোমেটিক লোড হয়। যেমন, কোনও পৃষ্ঠায় বিজ্ঞাপন সহ একাধিক ফ্রেম থাকলে, সেইসব বিজ্ঞাপনের URL-এ এই ট্রানজিশনের ধরন থাকে। ব্যবহারকারী হয়ত বুঝতেই পারবেন না যে এইসব পৃষ্ঠার কন্টেন্ট একটি আলাদা ফ্রেম এবং তাই URL সম্পর্কেও তার কোনও মাথাব্যথা থাকবে না (manual_subframe লিঙ্কে গিয়ে আরও দেখুন)।
"manual_subframe"সাবফ্রেম নেভিগেশনের জন্য যা ব্যবহারকারী স্পষ্টভাবে অনুরোধ করেছেন এবং ব্যাক/ফরওয়ার্ড তালিকায় নতুন নেভিগেশন এন্ট্রি তৈরি করে। কোনও ফ্রেমের জন্য স্পষ্টভাবে অনুরোধ করা হলে, সেটি অটোমেটিক লোড হওয়া ফ্রেমের চেয়ে বেশি গুরুত্বপূর্ণ হতে পারে, কারণ ব্যবহারকারী সম্ভবত অনুরোধ করা ফ্রেম লোড হয়েছে কিনা সেই বিষয়ে আগ্রহী।
"জেনারেট করা"ব্যবহারকারী অ্যাড্রেস বারে টাইপ করে এবং URL-এর মতো দেখতে নয় এমন একটি এন্ট্রি বেছে নিয়ে এই পৃষ্ঠায় এসেছেন। যেমন, কোনও মিলে যাওয়া আইটেমে Google সার্চ ফলাফল পৃষ্ঠার URL থাকতে পারে, কিন্তু ব্যবহারকারীকে সেটি "...-এর জন্য Google-এ সার্চ করুন" হিসেবে দেখানো হতে পারে। এগুলি টাইপ করা নেভিগেশনের মতো নয়, কারণ ব্যবহারকারী গন্তব্য URL টাইপ করেননি বা দেখেননি। এছাড়াও কীওয়ার্ড দেখুন।
"auto_toplevel"পৃষ্ঠাটি কমান্ড লাইনে নির্দিষ্ট করা হয়েছে বা এটি শুরুর পৃষ্ঠা।
"form_submit"ব্যবহারকারী একটি ফর্মে ভ্যালু পূরণ করে সেটি জমা দিয়েছেন। মনে রাখবেন যে কিছু পরিস্থিতিতে—যেমন কোনও ফর্ম কন্টেন্ট জমা দেওয়ার জন্য স্ক্রিপ্ট ব্যবহার করলে—ফর্ম জমা দেওয়ার ফলে এই ট্রানজিশন টাইপ হয় না।
"রিলোড করুন"ব্যবহারকারী রিলোড বোতামে ক্লিক করে অথবা অ্যাড্রেস বারে Enter প্রেস করে পৃষ্ঠাটি রিলোড করেছেন। সেশন ফিরিয়ে আনা ও বন্ধ করা ট্যাব আবার খোলার ক্ষেত্রেও এই ট্রানজিশন ব্যবহার করা হয়।
"কীওয়ার্ড"ডিফল্ট সার্চ পরিষেবা প্রদানকারী ছাড়া অন্য কোনও পরিবর্তনযোগ্য কীওয়ার্ড থেকে URL তৈরি করা হয়েছে। এছাড়াও keyword_generated দেখুন।
"keyword_generated"কোনও কীওয়ার্ডের জন্য জেনারেট করা ভিজিটের সাথে সম্পর্কিত। এছাড়াও কীওয়ার্ড দেখুন।

উদাহরণ

এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে ইতিহাস API-এর উদাহরণ ইনস্টল করুন।

ধরন

HistoryItem

ইতিহাস কোয়েরির একটি ফলাফল এনক্যাপসুলেট করা অবজেক্ট।

প্রপার্টি

  • id

    স্ট্রিং

    আইটেমের অনন্য শনাক্তকারী।

  • lastVisitTime

    নম্বর ঐচ্ছিক

    এই পৃষ্ঠাটি শেষবার কখন লোড করা হয়েছিল, যুগ থেকে মিলিসেকেন্ডে উপস্থাপন করা হয়েছে।

  • শীর্ষক

    স্ট্রিং ঐচ্ছিক

    শেষবার লোড করার সময় পৃষ্ঠার শিরোনাম।

  • typedCount

    নম্বর ঐচ্ছিক

    ব্যবহারকারী যতবার অ্যাড্রেস টাইপ করে এই পৃষ্ঠায় নেভিগেট করেছেন।

  • URL

    স্ট্রিং ঐচ্ছিক

    ব্যবহারকারী যে URL-এ নেভিগেট করেছেন।

  • visitCount

    নম্বর ঐচ্ছিক

    ব্যবহারকারী যতবার এই পৃষ্ঠায় নেভিগেট করেছেন।

TransitionType

Chrome 44+

এই ভিজিটের জন্য রেফারার থেকে ট্রানজিশনের ধরন।

Enum

"লিঙ্ক"
ব্যবহারকারী অন্য পৃষ্ঠায় থাকা লিঙ্কে ক্লিক করে এই পৃষ্ঠায় এসেছেন।

"টাইপ করা"
ব্যবহারকারী অ্যাড্রেস বারে URL টাইপ করে এই পৃষ্ঠায় এসেছেন। এছাড়াও, এটি অন্যান্য এক্সপ্লিসিট নেভিগেশন অ্যাকশনের জন্য ব্যবহার করা হয়।

"auto_bookmark"
UI-তে সাজেশন থেকে ব্যবহারকারী এই পৃষ্ঠায় এসেছেন, যেমন, মেনু আইটেমের মাধ্যমে।

"auto_subframe"
ব্যবহারকারী সাবফ্রেম নেভিগেশনের মাধ্যমে এই পৃষ্ঠায় এসেছেন, যার জন্য তিনি অনুরোধ করেননি, যেমন আগের পৃষ্ঠার ফ্রেমে লোড হওয়া বিজ্ঞাপনের মাধ্যমে। এগুলি সবসময় 'আগের' ও 'পরের' মেনুতে নতুন নেভিগেশন এন্ট্রি তৈরি করে না।

"manual_subframe"
ব্যবহারকারী সাবফ্রেম থেকে কিছু বেছে নেওয়ার মাধ্যমে এই পৃষ্ঠায় এসেছেন।

"জেনারেট করা"
ব্যবহারকারী অ্যাড্রেস বারে টাইপ করে এবং URL-এর মতো দেখতে নয় এমন একটি এন্ট্রি বেছে নিয়ে এই পৃষ্ঠায় এসেছেন, যেমন Google Search সাজেশন। যেমন, কোনও ম্যাচের মধ্যে Google Search ফলাফল পৃষ্ঠার URL থাকতে পারে, কিন্তু এটি ব্যবহারকারীর কাছে "...-এর জন্য Google Search করো" হিসেবে দেখানো হতে পারে। এগুলি টাইপ করা নেভিগেশন থেকে আলাদা কারণ ব্যবহারকারী ডেস্টিনেশন URL টাইপ করেননি বা দেখেননি। এছাড়াও, এগুলি কীওয়ার্ড নেভিগেশনের সাথে সম্পর্কিত।

"auto_toplevel"
পৃষ্ঠাটি কমান্ড লাইনে নির্দিষ্ট করা হয়েছে বা এটি শুরুর পৃষ্ঠা।

"form_submit"
ব্যবহারকারী একটি ফর্মে ভ্যালু পূরণ করে এবং ফর্মটি জমা দিয়ে এই পৃষ্ঠায় এসেছেন। সব ফর্ম জমা দেওয়ার ক্ষেত্রে এই ট্রানজিশনের ধরন ব্যবহার করা হয় না।

"আবার লোড করা হয়েছে"
ব্যবহারকারী আবার লোড করার বোতামে ক্লিক করে অথবা অ্যাড্রেস বারে Enter টিপে পৃষ্ঠাটি আবার লোড করেছেন। সেশন ফিরিয়ে আনা এবং বন্ধ করা ট্যাব আবার খোলার ক্ষেত্রেও এই ট্রানজিশনের ধরন ব্যবহার করা হয়।

"কীওয়ার্ড"
এই পৃষ্ঠার URL ডিফল্ট সার্চ পরিষেবা প্রদানকারী ছাড়া অন্য কোনও পরিবর্তনযোগ্য কীওয়ার্ড থেকে তৈরি করা হয়েছে।

"keyword_generated"
কোনও কীওয়ার্ডের জন্য তৈরি হওয়া ভিজিটের সাথে সম্পর্কিত।

UrlDetails

Chrome 88+

প্রপার্টি

  • URL

    স্ট্রিং

    অপারেশনের URL. এটি অবশ্যই history.search()-এ কল থেকে ফেরত আসা ফর্ম্যাটে হতে হবে।

VisitItem

একটি অবজেক্ট যা একটি URL-এ একটি ভিজিট এনক্যাপসুলেট করে।

প্রপার্টি

  • id

    স্ট্রিং

    সংশ্লিষ্ট history.HistoryItem-এর অনন্য শনাক্তকারী।

  • isLocal

    বুলিয়ান

    Chrome 115+

    এই ডিভাইস থেকে ভিজিট করা হলে, 'ট্রু' হিসেবে দেখানো হবে। অন্য কোনও ডিভাইস থেকে সিঙ্ক করা হলে, সেটি 'ফল্স' বলে গণ্য করা হবে।

  • referringVisitId

    স্ট্রিং

    রেফারারের ভিজিট আইডি।

  • ট্রানজিশন

    রেফারার থেকে এই ভিজিটের জন্য ট্রানজিশন ধরন।

  • visitId

    স্ট্রিং

    এই ভিজিটের জন্য অনন্য শনাক্তকারী।

  • visitTime

    নম্বর ঐচ্ছিক

    এই ভিজিট কখন হয়েছে, তা epoch থেকে মিলিসেকেন্ডে দেখানো হয়।

পদ্ধতি

addUrl()

প্রতিশ্রুতি
chrome.history.addUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

বর্তমান সময়ে ইতিহাসে একটি URL যোগ করে, যার ট্রানজিশন ধরন হল "লিঙ্ক"।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ
  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () =& gt;void

রিটার্ন

  • Promise<void>

    Chrome 96+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

deleteAll()

প্রতিশ্রুতি
chrome.history.deleteAll(
  callback?: function,
)
: Promise<void>

ইতিহাস থেকে সব আইটেম মুছে দেয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () =& gt;void

রিটার্ন

  • Promise<void>

    Chrome 96+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

deleteRange()

প্রতিশ্রুতি
chrome.history.deleteRange(
  range: object,
  callback?: function,
)
: Promise<void>

ইতিহাস থেকে নির্দিষ্ট তারিখের রেঞ্জের মধ্যে থাকা সব আইটেম সরিয়ে দেয়। সব ভিজিট রেঞ্জের মধ্যে না পড়লে, ইতিহাস থেকে পৃষ্ঠা সরানো হবে না।

প্যারামিটারগুলি

  • রেঞ্জ

    অবজেক্ট

    • endTime

      নম্বর

      এই তারিখের আগে ইতিহাসে যোগ করা আইটেম, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।

    • startTime

      নম্বর

      এই তারিখের পরে ইতিহাসে যোগ করা আইটেম, যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () =& gt;void

রিটার্ন

  • Promise<void>

    Chrome 96+

    Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

deleteUrl()

প্রতিশ্রুতি
chrome.history.deleteUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

ইতিহাস থেকে প্রদত্ত URL-এর সব ঘটনা সরিয়ে দেয়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ
  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () =& gt;void

রিটার্ন

  • Promise<void>

    Chrome 96+

    Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

getVisits()

প্রতিশ্রুতি
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)
: Promise<VisitItem[]>

URL-এ ভিজিট করা সম্পর্কে তথ্য রিট্রিভ করে।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ
  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (results: VisitItem[]) =& gt;void

রিটার্ন

  • Promise<VisitItem[]>

    Chrome 96+

    Manifest V3 এবং তার পরবর্তী ভার্সনে শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

প্রতিশ্রুতি
chrome.history.search(
  query: object,
  callback?: function,
)
: Promise<HistoryItem[]>

কোয়েরির সাথে ম্যাচ করা প্রতিটি পৃষ্ঠার শেষ ভিজিটের সময় ইতিহাস সার্চ করে।

প্যারামিটারগুলি

  • কোয়েরি

    অবজেক্ট

    • endTime

      নম্বর ঐচ্ছিক

      এই তারিখের আগে ভিজিট করা হয়েছে এমন ফলাফল সীমাবদ্ধ করুন, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে।

    • maxResults

      নম্বর ঐচ্ছিক

      যতগুলি ফলাফল রিট্রিভ করা যাবে। ডিফল্ট হল ১০০।

    • startTime

      নম্বর ঐচ্ছিক

      এই তারিখের পরে যারা ভিজিট করেছেন তাদের মধ্যে ফলাফল সীমাবদ্ধ করুন, যা যুগ থেকে মিলিসেকেন্ডে দেখানো হয়েছে। প্রপার্টি উল্লেখ করা না থাকলে, এটি ডিফল্ট হিসেবে ২৪ ঘণ্টা হবে।

    • মেসেজ পাঠান

      স্ট্রিং

      ইতিহাস পরিষেবায় ফ্রি-টেক্সট কোয়েরি। সব পৃষ্ঠা ফিরিয়ে আনতে এটি খালি রাখুন।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (results: HistoryItem[]) =& gt;void

রিটার্ন

  • Promise<HistoryItem[]>

    Chrome 96+

    Manifest V3 এবং তার পরবর্তী ভার্সনে শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।

ইভেন্ট

onVisited

chrome.history.onVisited.addListener(
  callback: function,
)

কোনও URL ভিজিট করা হলে ফায়ার করা হয়, সেই URL-এর জন্য HistoryItem ডেটা প্রদান করে। পৃষ্ঠা লোড হওয়ার আগে এই ইভেন্ট ফায়ার হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: HistoryItem) =& gt;void

onVisitRemoved

chrome.history.onVisitRemoved.addListener(
  callback: function,
)

ইতিহাস থেকে এক বা একাধিক URL সরিয়ে দেওয়া হলে ফায়ার করা হয়। সব ভিজিট সরিয়ে দেওয়া হলে, ইতিহাস থেকে URL মুছে দেওয়া হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এমন:

    (removed: object) =& gt;void

    • সরানো হয়েছে

      অবজেক্ট

      • allHistory

        বুলিয়ান

        সমস্ত ইতিহাস সরিয়ে দেওয়া হলে 'ট্রু' হয়। ট্রু হলে, URL খালি থাকবে।

      • urls

        string[] ঐচ্ছিক