loadLocalSiteinfoCallback

loadLocalSiteinfoCallback

概要

  • background.html が読み込まれた時に実行される
  • siteinfo.json(siteinfo_json)から呼ばれる
  • AutoPagerize インストール後の最初の起動時に仮でサイトインフォのデータを読み込むためと、途中でサイトインフォのurl変ったぽいのでその後始末しているみたい

コード

function loadLocalSiteinfoCallback(data) {
    var url = 'http://wedata.net/databases/AutoPagerize/items_all.json'
    var url_old = 'http://wedata.net/databases/AutoPagerize/items.json'
  • localStorage['cacheInfo'] があればそれを、無ければ空のオブジェクトを cache に収納
  • cache オブジェクトはここで始めて定義される
  • cache オブジェクトは localStorage にサイトインフォデータを収納するために使われる
    var cache = JSON.parse(localStorage['cacheInfo'] || '{}')
    if (!cache[url]) {
        siteinfo[url] = {
            url: url,
            expire: new Date().getTime() - 1,
            info: reduceWedataJSON(data)
        }
        cache[url] = siteinfo[url]
  • localStorage['cacheInfo'] に cache オブジェクトを JSON.stringify したものを収納
        localStorage['cacheInfo'] = JSON.stringify(cache)
    }
    else {
        siteinfo[url] = cache[url]
    }
  • remove old url cache
  • wedata.net 途中でサイトインフォの url が変ったらしい。その後始末している items.json → items_all.json
  • cache['http://wedata.net/databases/AutoPagerize/items.json'] があったらこれを delte してから
  • localStorage['cacheInfo'] に cache オブジェクトを JSON.stringify したものを収納
    // remove old url cache
    if (cache[url_old]) {
        delete cache[url_old]
        localStorage['cacheInfo'] = JSON.stringify(cache)
    }
  • refreshSiteinfo 関数を実行して wedata.net から SITEINFO を更新する
    refreshSiteinfo()
}