chrome.history

ब्यौरा

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

अनुमतियां

history

मेनिफ़ेस्ट

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

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

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

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

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

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

उदाहरण

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

टाइप

HistoryItem

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

प्रॉपर्टी

  • id

    स्ट्रिंग

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

  • lastVisitTime

    नंबर ज़रूरी नहीं

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

  • title

    स्ट्रिंग ज़रूरी नहीं

    पिछली बार लोड होने के समय पेज का टाइटल.

  • typedCount

    नंबर ज़रूरी नहीं

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

  • यूआरएल

    स्ट्रिंग ज़रूरी नहीं

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

  • visitCount

    नंबर ज़रूरी नहीं

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

TransitionType

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

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

Enum

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

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

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

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

"Manual_subframe"
उपयोगकर्ता किसी सबफ़्रेम में कुछ चुनकर इस पेज पर पहुंचा.

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

"auto_toplevel"
पेज के बारे में कमांड लाइन में बताया गया था या यह स्टार्ट पेज है.

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

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

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

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

UrlDetails

Chrome 88+

प्रॉपर्टी

  • यूआरएल

    स्ट्रिंग

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

VisitItem

यूआरएल पर एक विज़िट को शामिल करने वाला ऑब्जेक्ट.

प्रॉपर्टी

  • id

    स्ट्रिंग

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

  • isLocal

    boolean

    Chrome 115 और उसके बाद के वर्शन

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

  • referringVisitId

    स्ट्रिंग

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

  • ट्रांज़िशन

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

  • visitId

    स्ट्रिंग

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

  • visitTime

    नंबर ज़रूरी नहीं

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

तरीके

addUrl()

वादा
chrome.history.addUrl(
  details: UrlDetails,
  callback?: function,
)

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

पैरामीटर

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

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

deleteAll()

वादा
chrome.history.deleteAll(
  callback?: function,
)

इतिहास से सभी आइटम मिटाता है.

पैरामीटर

  • कॉलबैक

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

deleteRange()

वादा
chrome.history.deleteRange(
  range: object,
  callback?: function,
)

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

पैरामीटर

  • सीमा

    ऑब्जेक्ट

    • endTime

      नंबर

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

    • startTime

      नंबर

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

  • कॉलबैक

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

deleteUrl()

वादा
chrome.history.deleteUrl(
  details: UrlDetails,
  callback?: function,
)

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

पैरामीटर

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

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

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

getVisits()

वादा
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)

किसी यूआरएल पर जाने के बारे में जानकारी लाता है.

पैरामीटर

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

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

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

    (results: VisitItem[])=>void

रिटर्न

  • Promise<VisitItem[]>

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

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

वादा
chrome.history.search(
  query: object,
  callback?: function,
)

क्वेरी से मिलान करने वाले हर पेज पर पिछली बार कब गए थे, इसका इतिहास खोजता है.

पैरामीटर

  • query

    ऑब्जेक्ट

    • endTime

      नंबर ज़रूरी नहीं

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

    • maxResults

      नंबर ज़रूरी नहीं

      पुनर्प्राप्त करने के लिए परिणामों की अधिकतम संख्या. डिफ़ॉल्ट वैल्यू 100 होती है.

    • startTime

      नंबर ज़रूरी नहीं

      इस तारीख के बाद विज़िट किए गए नतीजों को सीमित करें. इन्हें 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

        boolean

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

      • urls

        स्ट्रिंग[] ज़रूरी नहीं है