Skip to content

better-history/chrome-historian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chrome Historian

A better wrapper for the Chrome History API that also merges in downloads from the Chrome Download API.

This is the secret sauce behind Better History

NPM version Bower version Build Status

Managing a day's history

The Chrome History API has been known to return visits that do not fall between the requested dates and visits that are out of order. Querying a day's history via Chrome Historian will guarantee all returned visits occured on the requested day and are in descending order.

  dayHistorian = new Historian.Day(new Date())

  dayHistorian.fetch (visits) ->
    if visits
      console.log(visits)
    else
      console.log('Feature is not supported in your browser version')

  dayHistorian.destroy()

  dayHistorian.destroyHour(22)

Searching history

The Chrome History API has been known to return very generous matches (not in a good way). Searching via Chrome Historian will guarantee all returned visits have a title or url that partially matches the query.

  searchHistorian = new Historian.Search('gmail')

  searchHistorian.fetch maxResults: 10000, (visits) ->
    console.log(visits)

  # The search historian caches the last search via chrome's local storage api
  searchHistorian.expireCache()

  # It's important to use these to delete because they both update the
  # previous search cache to reflect the removals
  searchHistorian.deleteUrl()
  searchHistorian.destroy()

Device Sessions

Easily interaction with Device browser sessions that are logged into the same Google account

  historian = new Historian.Devices()

  historian.fetch (devices) ->
    if devices
      console.log(devices) # ['Nexus 5', 'Desktop', 'Nexus 7']
    else
      console.log('Feature is not supported in your browser version')

    # ...a bit later

    if devices
      historian.fetchSessions(devices[0], (sessions) ->
        console.log(sessions)
        # [{
        #   sessionId: 'session_sync43908482591051-257446.1'
        #   sites: []
        # }]

Simple deleting

  Historian.deleteUrl('http://google.com')

  Historian.deleteDownload('http://google.com/file.zip')

  Historian.deleteRange
    startTime: new Date('Aug 20, 2014')
    endTime: new Date('Aug 30, 2014')

  Historian.deleteAll()

About

A better wrapper for the Chrome History and Downloads API

Resources

License

Stars

Watchers

Forks

Packages

No packages published