web-dev-qa-db-ja.com

ChromeのキャッシュされたWebページを表示する方法

Webページにアクセスしましたが、そのWebページが削除されたか、サーバーが停止しました。 ChromeがこのWebページのバージョンをキャッシュしたとします。もしそうなら、どのように私はこのウェブページを見ることができますか?

55
Jack

Chromeによってキャッシュされたリソースのリストを取得するには、アドレスバーにchrome://cacheと入力します。

残念ながら、リソースをクリックすると、その内容のHEX + ASCIIプレビューが表示されます。コンテンツがgzip(アーカイブ)されている場合、このプレビューは解凍可能なツールで処理しない限り読むことができません。

55

あなたは私が作成したオンラインの無料ツールを使うことができます: Google Chrome Cache Viewer 。内容が圧縮されていても、これでキャッシュを表示するのは実際にはかなり簡単です。

51
Senseful

ブラウザのキャッシュに必ずしも存在しないものが必要な場合、または古いバージョンを見たい場合は、 The Wayback Machine を参照してください。インターネットアーカイブとも呼ばれます。それは何度も私にとって大きな助けになりました。私はこれを使ってMMO履歴を調べて古いルールセットやパッチノートなどを理解します。サイトのURLにパンチするだけで、記録されているスナップショットが表示されます。

1
Foosh

サイトとその内容によっては、Google自身がそのバージョンをキャッシュしている必要があります。

そのサイトをグーグルで試してみて、それが見つかるかどうかを確認してください。見つかったら、名前の上にマウスを置くと、矢印が右側に表示されます。それをクリックするとウェブサイトのキャッシュされたバージョンへのリンクが表示されます。

cached version - Google

1

最も重要な点:ブラウザのキャッシュは不安定で、古いコンテンツは積極的に破棄されます。あなたの「行動の速さ」の尺度は、数分から数時間で測定されます

CTRL + Fでabout:cacheで探しているURLが見つかったと仮定すると、以下のスクリプトはそのURLに一致するものすべてを保存しようとします。完全に自動化されています。 what.cdがダウンしたときに私はこれを書いた。

あなたのキャッシュに何もない場合、おめでとう:(あなたは "ハード"モードになっています。もしあなたが 本当に あなたのキャッシュデータを戻したいなら、あなたはTestDisk( http://www.cgsecurity)を得る必要があります。 org/wiki/TestDisk )が動作していて、キャッシュフォルダ内の何かを復元できるかどうかを確認してください。データがきれいに復元されれば、Chromeから取得できるかもしれませんが、ディスクフォーマットをパースしようとして動かなくなるかもしれません(回復したデータをNirSoftのキャッシュビューアに送り込むことができます。)

あなたが実際にabout:cache、すごいことに何かしているのなら!

  1. 2つのフォルダを作成します。1つは "files"、もう1つは "raw"(または同様の名前)という名前です。

  2. Open chrome:// settings/search#ダウンロード%20場所

  3. ダウンロードフォルダを生のフォルダに変更します。

  4. About about:cache(設定タブを開いたままにします)

  5. F12キーを押してdevtoolsを開きます(注 - devtoolsが開いている間ずっと見られるContent Security Policyエラーを無視してください)。

  6. 以下のものをすべてクリップボードにコピーします(最後に巨大なJSの集まりがあることを確認してください。「テキストの終わり」のコメントがあります)。

  7. 開発ツールのコンソールタブに行きます

  8. 貼り付けて、Chromeが追いつくのを待って、Enterキーを押します。

  9. これで、キャッシュWebページに2つのボタンが表示されます。一致させたいURL文字列(単純にするために正規表現ではない)を入力します。 「raw」ボタンをクリックして、Chromeの起動をお楽しみください。 :P

  10. 今すぐダウンロードフォルダを "files"フォルダに切り替え、戻ってきて "files"ボタンをクリックしてください。

(11.ダウンロードフォルダを元に戻すことを忘れないでください)


これで2つのフォルダがデータでいっぱいになりました。

"files"ボタンを押したときにスクリプトがクラッシュした(うまくいけばしなかった)、または "error saving"メッセージがdevtoolsに表示された場合、ファイルを難読化していたときにパースエラーがあり、生のバージョンこれは単なる解析上の問題であり、スクリプトを修正することで解決できますが、このシナリオでChromeがすべての応答を元に戻すことができるとは思いません。

生データにはHTTPヘッダー情報が含まれていることに注意してください。また、元のデータを回復するために他の人に送信する場合は注意してください。

1つの大きな問題は解凍です - 私がオンラインで見つけたランダムなgunzip JSライブラリを使っています、それは完璧ではないかもしれません(それはうまくいくはずですが)。このライブラリがクラッシュしたか問題がある場合は、JXG.decompress()行をコメントアウトしてデータをgzip形式で保存し、ローカルで再展開できるかどうかを確認してください。

もう1つの問題は、ダウンロードフォルダの全文をbase64文字列として表現しようとしているため、ダウンロードフォルダを開くとChromeが動作しなくなることです。それらのダウンロードで 'x'を押すとそれを防ぐことができます。

これはスラッシュを^(キャレット)文字として保存し、他のすべての(Windows)禁止文字をファイル名の "#"に置き換えて、保存ファイル名の完全なURLをキャプチャすることに注意してください。


パブリックドメイン、所有権はありません。意のままに強化します。数時間(3-4時間)で構築されました(コードはひどいです)。私のLinuxラップトップでのみテストされています。バグがあるかもしれません:D

また、Stack Exchangeチームがこの20KB +の投稿を受け入れたことに敬意を表します。私は「リンクを投稿しない」ということを極端にすることにしました。とは言っても、誰でもこのスクリプトを実行することを歓迎します(そして非常にうまくいけばそれを改善してください!)

// CC0 | November 2016 by i336_ ([email protected])

var ui = document.createElement('div');
document.body.appendChild(ui);

var iframe = document.createElement('iframe')
document.body.appendChild(iframe);
var dl = document.createElement('a');
document.body.appendChild(dl);

var list = document.querySelector('table');
var len = list.children[0].childElementCount;
var save_raw, dl_raw, dl_files, status, search, entries, donecount, url, next, save_errors = "";

ui.innerHTML =
    '<div style="position: fixed; text-align: center; padding: 0px 20px 20px 20px; top: 20px; left: 20px; background: #cf0">' +
    '<h2 id="status">Type a string</h2>' +
    '<div><input id="search" /></div><br>' +
    '<button style="display: none" id="dl-files">Download as files</button><br><br>' +
    '<button style="display: none" id="dl-raw">Download raw data</button>' +
    '</div>';

status = document.querySelector('#status').innerHTML;

search = document.querySelector('#search');

dl_files = document.querySelector('#dl-files');

dl_files.onclick = function() {
    document.querySelector('#dl-files').style.fontWeight = 'bold';
    dl_files.disabled = dl_raw.disabled = 1;
    donecount = 1;
    save_raw = 0;
    next = len - 1;
    findnext();
}

dl_raw = document.querySelector('#dl-raw');

dl_raw.onclick = function() {
    document.querySelector('#dl-raw').style.fontWeight = 'bold';
    dl_files.disabled = dl_raw.disabled = 1;
    donecount = 1;
    save_raw = 1;
    next = len - 1;
    findnext();
}

document.querySelector('#search').oninput = function() {
    url = search.value;
    if (url.length == 0) {
        setstatus('Empty string doesn\'t work');
        return;
    }
    entries = 0;
    for (i = 0; i < len; i++) {
        if (list.children[0].children[i].children[0].children[0].href.indexOf(url) > -1) entries++;
    }

    if (entries > 0) {
        setstatus(entries + ' entry(s)!');
        dl_files.style.display = dl_raw.style.display = 'inline-block';
    } else {
        setstatus('No data :\'(');
    }
}
function setstatus(text) {
    document.querySelector('#status').innerHTML = text;
}
function wait() {
    console.log('waiting');
    var dosave = 0;
    try {
        if (frames[0].document.body.innerHTML.substr(-36) == '</pre><hr><pre></pre><table></table>') dosave = 1;
    } catch (e) { }
    if (dosave) {
        setTimeout(save, 100);
    } else {
        setTimeout(wait, 100);
    }
}
function parse(rawhtml) {
    var lines = Math.ceil(rawhtml.length / 76);
    var str = "";
    for (i = 0; i < lines; i++) {
        line = rawhtml.substr(10 + (76 * i), 47);
        for (j = 0; j < line.length; j += 3) {
            str += String.fromCharCode(parseInt(line.substr(j, 2), 16));
        }
    }
    if (str.substr(10, 8) == '1f 8b 08') {
        str = JXG.decompress(btoa(str));
    }
    return str;
}
function save() {
    console.log('triggering download');
    dl.download = iframe.src.substr(25).replace(/:\/\//, '___').replace(/\//g, '^').replace(/[\<\>\:\"\\\/\|\?\*]/, '#');
    var dl_data = "";
    var dosave = 0;
    if (save_raw) {
        dl.download = 'raw_' + dl.download;
        dl.href = 'data:text/plain;base64,' + btoa(frames[0].document.body.innerHTML);
        dosave = 1;
    } else {
        try {
            var dl_data = frames[0].document.querySelectorAll('pre')[2].innerText;
            if (dl_data != "") {
                dl.href = 'data:text/plain;base64,' + btoa(parse(dl_data));
                dosave = 1;
            } else {
                console.log('No data while saving: ' + iframe.src, e);
                save_errors += "ERROR: NO DATA WHILE SAVING " + iframe.src + "\n";
            }
        } catch (e) {
            console.log('Frame load error while saving: ' + iframe.src, e);
            save_errors += "ERROR: FRAME LOAD ERROR WHILE SAVING " + iframe.src + "\n";
        }
    }
    if (dosave == 1) {
        dl.click();
    }
    frames[0].document.body.innerHTML = "";
    donecount++;
    setTimeout(findnext, 100);
}
function load(index) {
    console.log('loading ' + donecount + ' of ' + entries);
    setstatus('Saving ' + donecount + '/' + entries);
    iframe.src = list.children[0].children[index].children[0].children[0].href;
    setTimeout(wait, 100);
}
function findnext() {
    console.log('findnext');
    s = -1;
    for (i = next; i > -1; i--) {
        if (list.children[0].children[i].children[0].children[0].href.indexOf(url) > -1) {
            s = i;
            break;
        }
    }
    if (s != -1) {
        load(s);
        next = s - 1;
    } else {
        console.log('done!!');
        if (save_errors != "") console.error(save_errors);
        save_errors = "";
        setstatus((save_raw ? 'Raw data' : 'Files') + ' saved!');
        dl_files.disabled = dl_raw.disabled = 0;
        document.querySelector('#dl-raw').style.fontWeight = document.querySelector('#dl-files').style.fontWeight = 'normal';
    }
}
!function(){var e,r,n;!function(t){function o(e,r){return w.call(e,r)}function i(e,r){var n,t,o,i,u,a,c,f,s,l,p=r&&r.split("/"),h=k.map,d=h&&h["*"]||{};if(e&&"."===e.charAt(0))if(r){for(p=p.slice(0,p.length-1),e=p.concat(e.split("/")),f=0;f<e.length;f+=1)if(l=e[f],"."===l)e.splice(f,1),f-=1;else if(".."===l){if(1===f&&(".."===e[2]||".."===e[0]))break;f>0&&(e.splice(f-1,2),f-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((p||d)&&h){for(n=e.split("/"),f=n.length;f>0;f-=1){if(t=n.slice(0,f).join("/"),p)for(s=p.length;s>0;s-=1)if(o=h[p.slice(0,s).join("/")],o&&(o=o[t])){i=o,u=f;break}if(i)break;!a&&d&&d[t]&&(a=d[t],c=f)}!i&&a&&(i=a,u=c),i&&(n.splice(0,u,i),e=n.join("/"))}return e}function u(e,r){return function(){return h.apply(t,C.call(arguments,0).concat([e,r]))}}function a(e){return function(r){return i(r,e)}}function c(e){return function(r){b[e]=r}}function f(e){if(o(m,e)){var r=m[e];delete m[e],y[e]=!0,p.apply(t,r)}if(!o(b,e)&&!o(y,e))throw new Error("No "+e);return b[e]}function s(e){var r,n=e?e.indexOf("!"):-1;return n>-1&&(r=e.substring(0,n),e=e.substring(n+1,e.length)),[r,e]}function l(e){return function(){return k&&k.config&&k.config[e]||{}}}var p,h,d,g,b={},m={},k={},y={},w=Object.prototype.hasOwnProperty,C=[].slice;d=function(e,r){var n,t=s(e),o=t[0];return e=t[1],o&&(o=i(o,r),n=f(o)),o?e=n&&n.normalize?n.normalize(e,a(r)):i(e,r):(e=i(e,r),t=s(e),o=t[0],e=t[1],o&&(n=f(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},g={require:function(e){return u(e)},exports:function(e){var r=b[e];return"undefined"!=typeof r?r:b[e]={}},module:function(e){return{id:e,uri:"",exports:b[e],config:l(e)}}},p=function(e,r,n,i){var a,s,l,p,h,k,w=[];if(i=i||e,"function"==typeof n){for(r=!r.length&&n.length?["require","exports","module"]:r,h=0;h<r.length;h+=1)if(p=d(r[h],i),s=p.f,"require"===s)w[h]=g.require(e);else if("exports"===s)w[h]=g.exports(e),k=!0;else if("module"===s)a=w[h]=g.module(e);else if(o(b,s)||o(m,s)||o(y,s))w[h]=f(s);else{if(!p.p)throw new Error(e+" missing "+s);p.p.load(p.n,u(i,!0),c(s),{}),w[h]=b[s]}l=n.apply(b[e],w),e&&(a&&a.exports!==t&&a.exports!==b[e]?b[e]=a.exports:l===t&&k||(b[e]=l))}else e&&(b[e]=n)},e=r=h=function(e,r,n,o,i){return"string"==typeof e?g[e]?g[e](r):f(d(e,r).f):(e.splice||(k=e,r.splice?(e=r,r=n,n=null):e=t),r=r||function(){},"function"==typeof n&&(n=o,o=i),o?p(t,e,r,n):setTimeout(function(){p(t,e,r,n)},4),h)},h.config=function(e){return k=e,k.deps&&h(k.deps,k.callback),h},n=function(e,r,n){r.splice||(n=r,r=[]),o(b,e)||o(m,e)||(m[e]=[e,r,n])},n.AMD={jQuery:!0}}(),n("../node_modules/almond/almond",function(){}),n("jxg",[],function(){var e={};return"object"!=typeof JXG||JXG.extend||(e=JXG),e.extend=function(e,r,n,t){var o,i;n=n||!1,t=t||!1;for(o in r)(!n||n&&r.hasOwnProperty(o))&&(i=t?o.toLowerCase():o,e[i]=r[o])},e.extend(e,{boards:{},readers:{},elements:{},registerElement:function(e,r){e=e.toLowerCase(),this.elements[e]=r},registerReader:function(e,r){var n,t;for(n=0;n<r.length;n++)t=r[n].toLowerCase(),"function"!=typeof this.readers[t]&&(this.readers[t]=e)},shortcut:function(e,r){return function(){return e[r].apply(this,arguments)}},getRef:function(e,r){return e.select(r)},getReference:function(e,r){return e.select(r)},debugInt:function(){var e,r;for(e=0;e<arguments.length;e++)r=arguments[e],"object"==typeof window&&window.console&&console.log?console.log(r):"object"==typeof document&&document.getElementById("debug")&&(document.getElementById("debug").innerHTML+=r+"<br/>")},debugWST:function(){var r=new Error;e.debugInt.apply(this,arguments),r&&r.stack&&(e.debugInt("stacktrace"),e.debugInt(r.stack.split("\n").slice(1).join("\n")))},debugLine:function(){var r=new Error;e.debugInt.apply(this,arguments),r&&r.stack&&e.debugInt("Called from",r.stack.split("\n").slice(2,3).join("\n"))},debug:function(){e.debugInt.apply(this,arguments)}}),e}),n("utils/Zip",["jxg"],function(e){var r=[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255],n=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],t=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],i=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],u=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],a=256;return e.Util=e.Util||{},e.Util.Unzip=function(c){function f(){return R+=8,O>X?c[X++]:-1}function s(){B=1}function l(){var e;try{return R++,e=1&B,B>>=1,0===B&&(B=f(),e=1&B,B=128|B>>1),e}catch(r){throw r}}function p(e){var n=0,t=e;try{for(;t--;)n=n<<1|l();e&&(n=r[n]>>8-e)}catch(o){throw o}return n}function h(){J=0}function d(e){A++,G[J++]=e,z.Push(String.fromCharCode(e)),32768===J&&(J=0)}function g(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1}function b(){for(;;){if(M[H]>=x)return-1;if(U[M[H]]===H)return M[H]++;M[H]++}}function m(){var e,r=P[F];if(17===H)return-1;if(F++,H++,e=b(),e>=0)r.b0=e;else if(r.b0=32768,m())return-1;if(e=b(),e>=0)r.b1=e,r.jump=null;else if(r.b1=32768,r.jump=P[F],r.jumppos=F,m())return-1;return H--,0}function k(e,r,n){var t;for(P=e,F=0,U=n,x=r,t=0;17>t;t++)M[t]=0;return H=0,m()?-1:0}function y(e){for(var r,n,t,o=0,i=e[o];;)if(t=l()){if(!(32768&i.b1))return i.b1;for(i=i.jump,r=e.length,n=0;r>n;n++)if(e[n]===i){o=n;break}}else{if(!(32768&i.b0))return i.b0;o++,i=e[o]}}function w(){var a,c,b,m,w,C,v,A,j,U,x,S,z,I,E,L,O;do if(a=l(),b=p(2),0===b)for(s(),U=f(),U|=f()<<8,S=f(),S|=f()<<8,65535&(U^~S)&&e.debug("BlockLen checksum mismatch\n");U--;)c=f(),d(c);else if(1===b)for(;;)if(w=r[p(7)]>>1,w>23?(w=w<<1|l(),w>199?(w-=128,w=w<<1|l()):(w-=48,w>143&&(w+=136))):w+=256,256>w)d(w);else{if(256===w)break;for(w-=257,j=p(t[w])+n[w],w=r[p(5)]>>3,i[w]>8?(x=p(8),x|=p(i[w]-8)<<8):x=p(i[w]),x+=o[w],w=0;j>w;w++)c=G[32767&J-x],d(c)}else if(2===b){for(v=new Array(320),I=257+p(5),E=1+p(5),L=4+p(4),w=0;19>w;w++)v[w]=0;for(w=0;L>w;w++)v[u[w]]=p(3);for(j=q.length,m=0;j>m;m++)q[m]=new g;if(k(q,19,v,0))return h(),1;for(z=I+E,m=0,O=-1;z>m;)if(O++,w=y(q),16>w)v[m++]=w;else if(16===w){if(w=3+p(2),m+w>z)return h(),1;for(C=m?v[m-1]:0;w--;)v[m++]=C}else{if(w=17===w?3+p(3):11+p(7),m+w>z)return h(),1;for(;w--;)v[m++]=0}for(j=T.length,m=0;j>m;m++)T[m]=new g;if(k(T,I,v,0))return h(),1;for(j=T.length,m=0;j>m;m++)q[m]=new g;for(A=[],m=I;m<v.length;m++)A[m-I]=v[m];if(k(q,E,A,0))return h(),1;for(;;)if(w=y(T),w>=256){if(w-=256,0===w)break;for(w-=1,j=p(t[w])+n[w],w=y(q),i[w]>8?(x=p(8),x|=p(i[w]-8)<<8):x=p(i[w]),x+=o[w];j--;)c=G[32767&J-x],d(c)}else d(w)}while(!a);return h(),s(),0}function C(){var e,r,n,t,o,i,u,c,s=[];try{if(z=[],L=!1,s[0]=f(),s[1]=f(),120===s[0]&&218===s[1]&&(w(),E[I]=[z.join(""),"geonext.gxt"],I++),31===s[0]&&139===s[1]&&(S(),E[I]=[z.join(""),"file"],I++),80===s[0]&&75===s[1]&&(L=!0,s[2]=f(),s[3]=f(),3===s[2]&&4===s[3])){for(s[0]=f(),s[1]=f(),v=f(),v|=f()<<8,c=f(),c|=f()<<8,f(),f(),f(),f(),u=f(),u|=f()<<8,u|=f()<<16,u|=f()<<24,i=f(),i|=f()<<8,i|=f()<<16,i|=f()<<24,o=f(),o|=f()<<8,o|=f()<<16,o|=f()<<24,t=f(),t|=f()<<8,n=f(),n|=f()<<8,e=0,N=[];t--;)r=f(),"/"===r|":"===r?e=0:a-1>e&&(N[e++]=String.fromCharCode(r));for(j||(j=N),e=0;n>e;)r=f(),e++;A=0,8===c&&(w(),E[I]=new Array(2),E[I][0]=z.join(""),E[I][1]=N.join(""),I++),S()}}catch(l){throw l}}var v,A,j,U,x,S,z=[],I=0,E=[],G=new Array(32768),J=0,L=!1,O=c.length,X=0,B=1,R=0,T=new Array(288),q=new Array(32),F=0,P=null,H=(new Array(64),new Array(64),0),M=new Array(17),N=[];M[0]=0,S=function(){var e,r,n,t,o,i,u=[];if(8&v&&(u[0]=f(),u[1]=f(),u[2]=f(),u[3]=f(),80===u[0]&&75===u[1]&&7===u[2]&&8===u[3]?(e=f(),e|=f()<<8,e|=f()<<16,e|=f()<<24):e=u[0]|u[1]<<8|u[2]<<16|u[3]<<24,r=f(),r|=f()<<8,r|=f()<<16,r|=f()<<24,n=f(),n|=f()<<8,n|=f()<<16,n|=f()<<24),L&&C(),u[0]=f(),8===u[0]){if(v=f(),f(),f(),f(),f(),f(),t=f(),4&v)for(u[0]=f(),u[2]=f(),H=u[0]+256*u[1],o=0;H>o;o++)f();if(8&v)for(o=0,N=[],i=f();i;)("7"===i||":"===i)&&(o=0),a-1>o&&(N[o++]=i),i=f();if(16&v)for(i=f();i;)i=f();2&v&&(f(),f()),w(),e=f(),e|=f()<<8,e|=f()<<16,e|=f()<<24,n=f(),n|=f()<<8,n|=f()<<16,n|=f()<<24,L&&C()}},e.Util.Unzip.prototype.unzipFile=function(e){var r;for(this.unzip(),r=0;r<E.length;r++)if(E[r][1]===e)return E[r][0];return""},e.Util.Unzip.prototype.unzip=function(){return C(),E}},e.Util}),n("utils/encoding",["jxg"],function(e){var r=0,n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8,0,12,24,36,60,96,84,12,12,12,48,72,12,12,12,12,12,12,12,12,12,12,12,12,12,0,12,12,12,12,12,0,12,0,12,12,12,24,12,12,12,12,12,24,12,24,12,12,12,12,12,12,12,12,12,24,12,12,12,12,12,24,12,12,12,12,12,12,12,24,12,12,12,12,12,12,12,12,12,36,12,36,12,12,12,36,12,12,12,12,12,36,12,36,12,12,12,36,12,12,12,12,12,12,12,12,12,12];return e.Util=e.Util||{},e.Util.UTF8={encode:function(e){var r,n,t="",o=e.length;if(e=e.replace(/\r\n/g,"\n"),"function"==typeof unescape&&"function"==typeof encodeURIComponent)return unescape(encodeURIComponent(e));for(r=0;o>r;r++)n=e.charCodeAt(r),128>n?t+=String.fromCharCode(n):n>127&&2048>n?(t+=String.fromCharCode(192|n>>6),t+=String.fromCharCode(128|63&n)):(t+=String.fromCharCode(224|n>>12),t+=String.fromCharCode(128|63&n>>6),t+=String.fromCharCode(128|63&n));return t},decode:function(e){var t,o,i,u=0,a=0,c=r,f=[],s=e.length,l=[];for(t=0;s>t;t++)o=e.charCodeAt(t),i=n[o],a=c!==r?63&o|a<<6:255>>i&o,c=n[256+c+i],c===r&&(a>65535?f.Push(55232+(a>>10),56320+(1023&a)):f.Push(a),u++,0===u%1e4&&(l.Push(String.fromCharCode.apply(null,f)),f=[]));return l.Push(String.fromCharCode.apply(null,f)),l.join("")},asciiCharCodeAt:function(e,r){var n=e.charCodeAt(r);if(n>255)switch(n){case 8364:n=128;break;case 8218:n=130;break;case 402:n=131;break;case 8222:n=132;break;case 8230:n=133;break;case 8224:n=134;break;case 8225:n=135;break;case 710:n=136;break;case 8240:n=137;break;case 352:n=138;break;case 8249:n=139;break;case 338:n=140;break;case 381:n=142;break;case 8216:n=145;break;case 8217:n=146;break;case 8220:n=147;break;case 8221:n=148;break;case 8226:n=149;break;case 8211:n=150;break;case 8212:n=151;break;case 732:n=152;break;case 8482:n=153;break;case 353:n=154;break;case 8250:n=155;break;case 339:n=156;break;case 382:n=158;break;case 376:n=159}return n}},e.Util.UTF8}),n("utils/base64",["jxg","utils/encoding"],function(e,r){function n(e,r){return 255&e.charCodeAt(r)}function t(e,r){var n=o.indexOf(e.charAt(r));if(-1===n)throw new Error("JSXGraph/utils/base64: Can't decode string (invalid character).");return n}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i="=";return e.Util=e.Util||{},e.Util.Base64={encode:function(e){var t,u,a,c,f,s=[];for(f=r.encode(e),a=f.length,c=a%3,t=0;a-c>t;t+=3)u=n(f,t)<<16|n(f,t+1)<<8|n(f,t+2),s.Push(o.charAt(u>>18),o.charAt(63&u>>12),o.charAt(63&u>>6),o.charAt(63&u));switch(c){case 1:u=n(f,a-1),s.Push(o.charAt(u>>2),o.charAt(63&u<<4),i,i);break;case 2:u=n(f,a-2)<<8|n(f,a-1),s.Push(o.charAt(u>>10),o.charAt(63&u>>4),o.charAt(63&u<<2),i)}return s.join("")},decode:function(e,n){var o,u,a,c,f,s,l=[],p=[];if(o=e.replace(/[^A-Za-z0-9\+\/=]/g,""),a=o.length,0!==a%4)throw new Error("JSXGraph/utils/base64: Can't decode string (invalid input length).");for(o.charAt(a-1)===i&&(c=1,o.charAt(a-2)===i&&(c=2),a-=4),u=0;a>u;u+=4)f=t(o,u)<<18|t(o,u+1)<<12|t(o,u+2)<<6|t(o,u+3),p.Push(f>>16,255&f>>8,255&f),0===u%1e4&&(l.Push(String.fromCharCode.apply(null,p)),p=[]);switch(c){case 1:f=t(o,a)<<12|t(o,a+1)<<6|t(o,a+2),p.Push(f>>10,255&f>>2);break;case 2:f=t(o,u)<<6|t(o,u+1),p.Push(f>>4)}return l.Push(String.fromCharCode.apply(null,p)),s=l.join(""),n&&(s=r.decode(s)),s},decodeAsArray:function(e){var r,n=this.decode(e),t=[],o=n.length;for(r=0;o>r;r++)t[r]=n.charCodeAt(r);return t}},e.Util.Base64}),n("../build/compressor.deps.js",["jxg","utils/Zip","utils/base64"],function(e,r,n){return e.decompress=function(e){return unescape(new r.Unzip(n.decodeAsArray(e)).unzip()[0][0])},e}),window.JXG=r("../build/compressor.deps.js")}();
console.log('ready');

// If you can see this you've copied the whole thing
0
i336_

また、URLの前にcache:を付けるだけで、最新のGoogleキャッシュがクロムに​​読み込まれます。

0
nmu

これはChrome 60.0.3163.49(beta、2017年8月)で動作し、Show Saved Copy機能でキャッシュコンテンツを表示することができました。

  1. Chromeフラグ 保存コピーの表示(ここをクリック) をオンにします。
    [プライマリを有効にする]を選択します - セカンダリをテストしませんでした
    下部のボタンでChromeを再起動します。これですべてのChromeウィンドウが更新されます。

切断されているタブがある場合(サイトは現在利用できません)、これらは再起動で正しく更新されない可能性があります。再起動の前にローカルコピーを保存するには、SaveAs .htmを右クリックします。特に、同じページの過去のスナップショットでありながら過去のコンテンツが異なる複数のタブがある場合、それらのタブはすべて最新のスナップショットで更新されます。

  1. 機内モードをオンにするか、ネットワークから物理的に切断します。
    保存コピーの表示機能は、サイトが完全に切断されているときにのみ機能します。応答が遅く、Err_Connection_Timed_Outでタイムアウトした場合、[保存されたコピーの表示]ボタンは表示されません。

  2. Chromeキャッシュリストを開く chrome:// cache /
    あなたはキャッシュされたページファイルへのURLリンクの長いリストを見るでしょう。
    探しているものを見つけるにはCtrl + Fを押してください。
    必要なものをハイライトしてコピーします。

キャッシュリストから正確なURLを取得することは、キャッシュから特定のファイルを表示したい場合にのみ必要です。そうしないと、ページへのリンクはキャッシュから取得されます。

  1. 新しいタブタブを開きます。

  2. コピーしたURLをアドレスボックスに貼り付けて、Enterキーを押します。
    ページの読み込みがインターネットなしのエラーで失敗し、下部に表示される
    [保存されたコピーを表示]ボタンが表示されます。

  3. キャッシュされたページのコンテンツは表示されますが、スタイルとフォーマットが正しく適用されない場合があります。

  4. フォーマットを元に戻すには、戻る矢印と進む矢印を使用します。
    新しいタブページに戻ります。
    進むとキャッシュページに戻ります。スタイルとフォーマットがまだキャッシュ内にある場合は、ページを再描画するときに、フルフォーマットでペイントされます。

I336が指摘するように、キャッシュは揮発性です。キャッシュの内容をすばやく回復しようとするほど、チャンスは増えます。

保存保存コピーの表示機能は、2012年12月からWeb上に掲載されています。最近の技術ニュースでは2015年5月になります( here CNet および here here PCWorld )しかし、このスーパーユーザースレッドには含まれていません(2012年4月に開始)。機内モードとChromeキャッシュリストの正確なURLを組み合わせると、特定のキャッシュファイルを簡単に表示できます。

Sensefulとi336のjavascriptツールは動作するかもしれませんが、私には失敗しました。私のページに使用されている特定のWebレイアウトに対応するには、改造が必要だと思います。保存コピーの表示を使用すると、JavaScriptのバージョン依存関係が回避されます。

0
Larry