chrome.history

refresh date: 2026-09-25 robots: noindex

ब्यौरा

विज़िट किए गए पेजों के ब्राउज़र के रिकॉर्ड के साथ इंटरैक्ट करने के लिए, chrome.history API का इस्तेमाल करें. ब्राउज़र के इतिहास में यूआरएल जोड़े जा सकते हैं, हटाए जा सकते हैं, और उनके बारे में क्वेरी की जा सकती है. इतिहास वाले पेज को अपने वर्शन से बदलने के लिए, पेज बदलना लेख पढ़ें.

अनुमतियां

history

मेनिफ़ेस्ट

इतिहास से जुड़े एपीआई का इस्तेमाल करने के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "history" अनुमति का एलान करना होगा. उदाहरण के लिए:

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

ट्रांज़िशन के टाइप

History API, ट्रांज़िशन टाइप का इस्तेमाल करता है. इससे यह पता चलता है कि ब्राउज़र, किसी खास विज़िट के दौरान किसी यूआरएल पर कैसे नेविगेट किया. उदाहरण के लिए, अगर कोई उपयोगकर्ता किसी दूसरे पेज पर मौजूद लिंक पर क्लिक करके किसी पेज पर जाता है, तो ट्रांज़िशन टाइप "लिंक" होता है.

यहां दी गई टेबल में, हर ट्रांज़िशन टाइप के बारे में बताया गया है.

ट्रांज़िशन टाइपब्यौरा
"टाइप किया गया"उपयोगकर्ता को यह पेज, पता बार में यूआरएल टाइप करने पर मिला. इसका इस्तेमाल, नेविगेशन से जुड़ी अन्य कार्रवाइयों के लिए भी किया जाता है. generated भी देखें. इसका इस्तेमाल उन मामलों में किया जाता है जहां उपयोगकर्ता ने ऐसा विकल्प चुना है जो यूआरएल की तरह नहीं दिखता.
"auto_bookmark"उपयोगकर्ता को यूज़र इंटरफ़ेस (यूआई) में दिए गए सुझाव के ज़रिए इस पेज पर भेजा गया था. उदाहरण के लिए, मेन्यू आइटम के ज़रिए.
"auto_subframe"सबफ़्रेम नेविगेशन. यह ऐसा कॉन्टेंट होता है जो टॉप-लेवल फ़्रेम के अलावा किसी दूसरे फ़्रेम में अपने-आप लोड हो जाता है. उदाहरण के लिए, अगर किसी पेज में विज्ञापन दिखाने वाले कई फ़्रेम शामिल हैं, तो उन विज्ञापन यूआरएल में इस तरह का ट्रांज़िशन होता है. ऐसा हो सकता है कि उपयोगकर्ता को यह पता ही न चले कि इन पेजों का कॉन्टेंट अलग फ़्रेम है. इसलिए, वह यूआरएल पर ध्यान न दे (manual_subframe भी देखें).
"manual_subframe"उपयोगकर्ता ने सबफ़्रेम नेविगेशन के लिए साफ़ तौर पर अनुरोध किया है. इससे, 'वापस जाएं' या 'आगे बढ़ें' सूची में नई नेविगेशन एंट्री जनरेट होती हैं. अपने-आप लोड होने वाले फ़्रेम की तुलना में, उपयोगकर्ता के अनुरोध पर लोड होने वाला फ़्रेम ज़्यादा ज़रूरी होता है. ऐसा इसलिए, क्योंकि उपयोगकर्ता को इस बात से ज़्यादा फ़र्क़ पड़ता है कि अनुरोध किया गया फ़्रेम लोड हुआ है या नहीं.
"जनरेट किया गया"उपयोगकर्ता ने पता बार में टाइप करके इस पेज पर पहुंचा. उसने ऐसी एंट्री चुनी जो यूआरएल की तरह नहीं दिखती थी. उदाहरण के लिए, किसी मैच में Google के खोज नतीजों वाले पेज का यूआरएल हो सकता है, लेकिन उपयोगकर्ता को यह "... के लिए Google पर खोजें" के तौर पर दिख सकता है. ये टाइप किए गए नेविगेशन से अलग होते हैं, क्योंकि उपयोगकर्ता ने डेस्टिनेशन यूआरएल टाइप नहीं किया होता है और न ही उसे दिखता है. कीवर्ड भी देखें.
"auto_toplevel"पेज को कमांड लाइन में तय किया गया था या यह शुरुआती पेज है.
"form_submit"उपयोगकर्ता ने फ़ॉर्म में वैल्यू भरी हैं और उसे सबमिट किया है. ध्यान दें कि कुछ स्थितियों में, फ़ॉर्म सबमिट करने पर यह ट्रांज़िशन टाइप नहीं दिखता. जैसे, जब कोई फ़ॉर्म कॉन्टेंट सबमिट करने के लिए स्क्रिप्ट का इस्तेमाल करता है.
"फिर से लोड करें"उपयोगकर्ता ने पेज को फिर से लोड किया. इसके लिए, उसने 'फिर से लोड करें' बटन पर क्लिक किया या पता बार में Enter दबाया. सेशन को वापस लाने और बंद किए गए टैब को फिर से खोलने की सुविधा भी इसी ट्रांज़िशन टाइप का इस्तेमाल करती है.
"कीवर्ड"यूआरएल, खोज सेवा देने वाली डिफ़ॉल्ट कंपनी के अलावा, किसी अन्य कंपनी के बदले जा सकने वाले कीवर्ड से जनरेट किया गया था. keyword_generated भी देखें.
"keyword_generated"यह किसी कीवर्ड के लिए जनरेट की गई विज़िट से मेल खाता है. कीवर्ड भी देखें.

उदाहरण

इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से history API का उदाहरण इंस्टॉल करें.

टाइप

HistoryItem

यह एक ऐसा ऑब्जेक्ट है जिसमें इतिहास की क्वेरी का एक नतीजा शामिल होता है.

प्रॉपर्टी

  • id

    स्ट्रिंग

    यह आइटम का यूनीक आइडेंटिफ़ायर होता है.

  • lastVisitTime

    number optional

    यह पेज पिछली बार कब लोड हुआ था. इसे epoch के बाद से मिलीसेकंड में दिखाया जाता है.

  • title

    string ज़रूरी नहीं है

    पेज को आखिरी बार लोड किए जाने के समय उसका टाइटल.

  • typedCount

    number optional

    उपयोगकर्ता ने पता टाइप करके, इस पेज पर कितनी बार नेविगेट किया.

  • url

    string ज़रूरी नहीं है

    वह यूआरएल जिस पर उपयोगकर्ता गया.

  • visitCount

    number optional

    इससे पता चलता है कि उपयोगकर्ता ने इस पेज पर कितनी बार नेविगेट किया.

TransitionType

Chrome 44 या इसके बाद का वर्शन

रेफ़र करने वाले व्यक्ति की इस विज़िट के लिए, ट्रांज़िशन टाइप.

Enum

"लिंक"
उपयोगकर्ता, किसी दूसरे पेज पर मौजूद लिंक पर क्लिक करके इस पेज पर पहुंचा.

"टाइप किया गया"
उपयोगकर्ता, पता बार में यूआरएल टाइप करके इस पेज पर पहुंचा. इसका इस्तेमाल, नेविगेशन से जुड़ी अन्य कार्रवाइयों के लिए भी किया जाता है.

"auto_bookmark"
उपयोगकर्ता इस पेज पर यूज़र इंटरफ़ेस (यूआई) में दिए गए सुझाव के ज़रिए पहुंचा. उदाहरण के लिए, मेन्यू आइटम के ज़रिए.

"auto_subframe"
उपयोगकर्ता इस पेज पर सबफ़्रेम नेविगेशन के ज़रिए पहुंचा है. हालांकि, उसने इसके लिए अनुरोध नहीं किया था. जैसे, पिछले पेज पर फ़्रेम में लोड हो रहे विज्ञापन के ज़रिए. इनसे, बैक और फ़ॉरवर्ड मेन्यू में हमेशा नई नेविगेशन एंट्री जनरेट नहीं होती हैं.

"manual_subframe"
उपयोगकर्ता इस पेज पर, सबफ़्रेम में मौजूद किसी आइटम को चुनकर पहुंचा.

"जनरेट किया गया"
उपयोगकर्ता इस पेज पर, पता बार में टाइप करके पहुंचा. उसने ऐसी एंट्री चुनी जो यूआरएल की तरह नहीं दिखती थी. जैसे, Google Search का सुझाव. उदाहरण के लिए, किसी मैच में Google Search के खोज नतीजों वाले पेज का यूआरएल हो सकता है. हालांकि, उपयोगकर्ता को यह "... के लिए Google पर खोजें" के तौर पर दिख सकता है. ये टाइप किए गए नेविगेशन से अलग होते हैं, क्योंकि उपयोगकर्ता ने डेस्टिनेशन यूआरएल टाइप नहीं किया होता है और न ही उसे यह दिखता है. ये कीवर्ड नेविगेशन से भी जुड़े होते हैं.

"auto_toplevel"
पेज को कमांड लाइन में तय किया गया था या यह शुरुआती पेज है.

"form_submit"
उपयोगकर्ता इस पेज पर, फ़ॉर्म में वैल्यू भरकर और फ़ॉर्म सबमिट करके पहुंचा. सभी फ़ॉर्म सबमिशन में इस ट्रांज़िशन टाइप का इस्तेमाल नहीं किया जाता.

"फिर से लोड करें"
उपयोगकर्ता ने पेज को फिर से लोड किया. इसके लिए, उसने 'फिर से लोड करें' बटन पर क्लिक किया या पता बार में Enter दबाया. सेशन को वापस लाने और बंद किए गए टैब को फिर से खोलने की सुविधा भी इस ट्रांज़िशन टाइप का इस्तेमाल करती है.

"कीवर्ड"
इस पेज का यूआरएल, खोज की सेवा देने वाली डिफ़ॉल्ट कंपनी के अलावा, किसी अन्य कंपनी के बदले जा सकने वाले कीवर्ड से जनरेट किया गया था.

"keyword_generated"
यह किसी कीवर्ड के लिए जनरेट की गई विज़िट से मेल खाता है.

UrlDetails

Chrome 88 या इसके बाद का वर्शन

प्रॉपर्टी

  • url

    स्ट्रिंग

    कार्रवाई का यूआरएल. यह history.search() को कॉल करने पर मिले जवाब के फ़ॉर्मैट में होना चाहिए.

VisitItem

यह ऑब्जेक्ट, किसी यूआरएल पर एक बार विज़िट करने की जानकारी दिखाता है.

प्रॉपर्टी

  • id

    स्ट्रिंग

    यह history.HistoryItem के लिए यूनीक आइडेंटिफ़ायर है.

  • isLocal

    बूलियन

    Chrome 115 या इसके बाद के वर्शन

    अगर विज़िट की शुरुआत इस डिवाइस से हुई है, तो वैल्यू 'सही है' होगी. अगर इसे किसी दूसरे डिवाइस से सिंक किया गया था, तो यह वैल्यू गलत होती है.

  • referringVisitId

    स्ट्रिंग

    रेफ़र करने वाले का विज़िट आईडी.

  • ट्रांज़िशन

    रेफ़र करने वाले व्यक्ति की इस विज़िट के लिए, ट्रांज़िशन टाइप.

  • visitId

    स्ट्रिंग

    इस विज़िट के लिए यूनीक आइडेंटिफ़ायर.

  • visitTime

    number optional

    यह विज़िट कब हुई. इसे Epoch के बाद के मिलीसेकंड में दिखाया जाता है.

तरीके

addUrl()

Promise
chrome.history.addUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

यह फ़ंक्शन, मौजूदा समय में इतिहास में एक यूआरएल जोड़ता है. इसका ट्रांज़िशन टाइप "लिंक" होता है.

पैरामीटर

  • ब्यौरा
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

deleteAll()

Promise
chrome.history.deleteAll(
  callback?: function,
)
: Promise<void>

इससे इतिहास में मौजूद सभी आइटम मिट जाते हैं.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

deleteRange()

Promise
chrome.history.deleteRange(
  range: object,
  callback?: function,
)
: Promise<void>

इससे इतिहास में मौजूद, तय की गई तारीख की सीमा के सभी आइटम मिट जाते हैं. जब तक सभी विज़िट तय सीमा के अंदर नहीं आतीं, तब तक पेजों को इतिहास से नहीं हटाया जाएगा.

पैरामीटर

  • सीमा

    ऑब्जेक्ट

    • endTime

      संख्या

      इस तारीख से पहले, इतिहास में जोड़े गए आइटम. इन्हें epoch के बाद से मिलीसेकंड में दिखाया जाता है.

    • startTime

      संख्या

      इस तारीख के बाद, इतिहास में जोड़े गए आइटम. इन्हें epoch के बाद से मिलीसेकंड में दिखाया जाता है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

deleteUrl()

Promise
chrome.history.deleteUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

यह विकल्प, इतिहास से दिए गए यूआरएल के सभी इंस्टेंस हटा देता है.

पैरामीटर

  • ब्यौरा
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • Promise<void>

    Chrome 96 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getVisits()

Promise
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)
: Promise<VisitItem[]>

यह कुकी, किसी यूआरएल पर की गई विज़िट के बारे में जानकारी इकट्ठा करती है.

पैरामीटर

  • ब्यौरा
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (results: VisitItem[]) => void

रिटर्न

  • Promise<VisitItem[]>

    Chrome 96 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

Promise
chrome.history.search(
  query: object,
  callback?: function,
)
: Promise<HistoryItem[]>

यह कुकी, क्वेरी से मेल खाने वाले हर पेज की पिछली विज़िट के समय के लिए इतिहास खोजती है.

पैरामीटर

  • क्वेरी

    ऑब्जेक्ट

    • endTime

      number optional

      नतीजों को उन पेजों तक सीमित करें जिन्हें इस तारीख से पहले देखा गया था. इसे epoch के बाद से मिलीसेकंड में दिखाया जाता है.

    • maxResults

      number optional

      ज़्यादा से ज़्यादा नतीजे पाने की संख्या. डिफ़ॉल्ट वैल्यू 100 होती है.

    • startTime

      number optional

      नतीजों को सिर्फ़ उन विज़िट तक सीमित करें जो इस तारीख के बाद की गई हैं. इसे epoch के बाद से मिलीसेकंड में दिखाया जाता है. अगर प्रॉपर्टी की वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से 24 घंटे का समय अंतराल लागू होगा.

    • टेक्स्ट

      स्ट्रिंग

      इतिहास की सेवा के लिए फ़्री-टेक्स्ट क्वेरी. सभी पेज वापस पाने के लिए, इसे खाली छोड़ दें.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (results: HistoryItem[]) => void

रिटर्न

  • Promise<HistoryItem[]>

    Chrome 96 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

इवेंट

onVisited

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

जब किसी यूआरएल पर जाया जाता है, तब यह इवेंट ट्रिगर होता है. इससे उस यूआरएल के लिए HistoryItem डेटा मिलता है. यह इवेंट, पेज लोड होने से पहले ट्रिगर होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (result: HistoryItem) => void

onVisitRemoved

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

जब इतिहास से एक या उससे ज़्यादा यूआरएल हटा दिए जाते हैं, तब यह इवेंट ट्रिगर होता है. सभी विज़िट हटा दिए जाने के बाद, यूआरएल को इतिहास से हटा दिया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (removed: object) => void

    • निकाला गया

      ऑब्जेक्ट

      • allHistory

        बूलियन

        अगर पूरा इतिहास हटा दिया गया है, तो यह वैल्यू सही होती है. अगर सही है, तो यूआरएल खाली होंगे.

      • यूआरएल

        string[] ज़रूरी नहीं है