chrome.history

ब्यौरा

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

अनुमतियां

history

मेनिफ़ेस्ट

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

{
  "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 example इंस्टॉल करें.

टाइप

HistoryItem

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

प्रॉपर्टी

  • आईडी

    स्ट्रिंग

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

  • lastVisitTime

    number ज़रूरी नहीं

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

  • title

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

    पेज का वह टाइटल जो आखिरी बार लोड होने पर था.

  • typedCount

    number ज़रूरी नहीं

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

  • url

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

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

  • visitCount

    number ज़रूरी नहीं

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

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

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

प्रॉपर्टी

  • आईडी

    स्ट्रिंग

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

  • isLocal

    बूलियन

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

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

  • referringVisitId

    स्ट्रिंग

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

  • ट्रांज़िशन

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

  • visitId

    स्ट्रिंग

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

  • visitTime

    number ज़रूरी नहीं

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

तरीके

addUrl()

प्रॉमिस
chrome.history.addUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • विवरण
  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

deleteAll()

प्रॉमिस
chrome.history.deleteAll(
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

deleteRange()

प्रॉमिस
chrome.history.deleteRange(
  range: object,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • सीमा

    ऑब्जेक्ट

    • endTime

      संख्या

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

    • startTime

      संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

deleteUrl()

प्रॉमिस
chrome.history.deleteUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • विवरण
  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

getVisits()

प्रॉमिस
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)
: Promise<VisitItem[]>

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

पैरामीटर

  • विवरण
  • कॉलबैक

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

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

    (results: VisitItem[]) => void

रिटर्न

  • Promise<VisitItem[]>

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

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

प्रॉमिस
chrome.history.search(
  query: object,
  callback?: function,
)
: Promise<HistoryItem[]>

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

पैरामीटर

  • क्वेरी

    ऑब्जेक्ट

    • endTime

      number ज़रूरी नहीं

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

    • maxResults

      number ज़रूरी नहीं

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

    • startTime

      number ज़रूरी नहीं

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

    • टेक्स्ट

      स्ट्रिंग

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

  • कॉलबैक

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

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

    (results: HistoryItem[]) => void

रिटर्न

  • Promise<HistoryItem[]>

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

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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

        बूलियन

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

      • यूआरएल

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