<->archive.is

    @@ -11,10 +11,14 @@ // OBSOLETE .today? turn back .is // 〜2014-04-15 http://archive.is // 2014-04-15〜 http://archive.today -// 2015-05-19 (now) http://archive.is +// 2015-04-23? http://archive.is +// 2015-04-20 ".today" but 2015-04-23, 302 redirect to ".is" +// - http://web.archive.org/web/20150420033512/https://archive.today/ +// - http://web.archive.org/web/20150423204200/http://archive.today/ +// - http://web.archive.org/web/*/archive.today // c.f. -// https://archive.is/ (Bookmarklet to save here) +// https://archive.is/ (Bookmarklet for immediately save) // https://archive.is/faq.html (function () { if (/archive\.is/.test(location.hostname) && location.pathname) {
  • /*
     * @title <->archive.past
     * @description come and go archive.is w/ list and detail page
     * @include http://*
     * @include https://*
     * @contributor noromanba
     * @license MIT License http://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // OBSOLETE .today? turn back .is
    // 〜2014-04-15     http://archive.is
    // 2014-04-15〜     http://archive.today
    // 2015-04-23?      http://archive.is
    //  2015-04-20 ".today" but 2015-04-23, 302 redirect to ".is"
    //  - http://web.archive.org/web/20150420033512/https://archive.today/
    //  - http://web.archive.org/web/20150423204200/http://archive.today/
    //   - http://web.archive.org/web/*/archive.today
    
    // c.f.
    // https://archive.is/ (Bookmarklet for immediately save)
    // https://archive.is/faq.html
    (function () {
        if (/archive\.is/.test(location.hostname) && location.pathname) {
            var saved = document.querySelector('input[name="q"][value]');
            if (!saved || !saved.value) return;
    
            // TBD regexp capture
            var url = saved.value;
            url = url.replace(/^\*\./,'').replace(/\*$/, ''); // remove wildcard
    
            location.href = url.indexOf('http') > -1 ?
            //*
                url.slice(url.lastIndexOf('http')) : // remove some 'http://'; e.g. wayback, H::B et. al
            /*/
                url :
            //*/
                'http://' + url;
        } else {
            // TODO canonical TBD remove protocol
            location.href = 'https://archive.is/' + location.href;
        }
    })();
    
    // archive.is are awesome, but markup awful
    //
    // - https://archive.is/
    //  - https://archive.is/www.google.co.jp/ (list page)
    //   - 1 visible input
    //    - #q name="q"
    //  - https://archive.is/MjjoE (detail page, include wayback)
    //   - 4 visible inputs, div#header
    //    - [ ] Saved from:      submit tabindex"=-1" (wayback url)
    //     - http://web.archive.org/web/20040831080059/http://www.google.co.jp/
    //    - [ ] Redirected from: name="q" readonly (wayback url)
    //    - [ ] Via:             readonly (via url)
    //    - [x] Original:        readonly (saved url)
    // - 5 input patterns, e.g. Google Japan
    //  - http://google.co.jp
    //  - https://google.co.jp
    //  - google.co.jp
    //  - http://www.google.co.jp/*
    //  - *.google.co.jp
    //
    // ':nth-last-of-type(1)', ':last-of-type' return first element (with attr sel)
    // WTH, WTF plz add #id or .class or data-*, I WANT to get original url EASILY
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2015/05/26 07:14:56 - 2015-05-26
  2. 2015/05/26 07:10:29 - 2015-05-26
  3. 2015/05/26 06:23:31 - 2015-05-26
  4. 2015/05/19 07:03:25 - 2015-05-19
  5. 2015/05/19 06:43:06 - 2015-05-19
  6. 2014/06/03 10:01:58 - 2014-06-03
  7. 2014/06/03 05:19:07 - 2014-06-03
  8. 2014/06/03 05:00:23 - 2014-06-03
  9. 2014/06/03 04:46:57 - 2014-06-03