2012-04-12 07:36:00 +0000 2012-04-12 07:36:00 +0000
56
56
Advertisement

Jak wyświetlić stronę internetową Chrome w pamięci podręcznej?

Advertisement

Odwiedziłem stronę internetową, ale teraz strona została usunięta lub serwer jest wyłączony. Zakładam, że Chrome zbuforował jedną z wersji tej strony. Jeśli tak, to jak mogę przeglądać tę stronę?

Advertisement
Advertisement

Odpowiedzi (8)

55
55
55
2012-04-12 08:25:57 +0000

Wpisz chrome://cache w pasku adresu, aby otrzymać listę zasobów buforowanych przez Chrome.

Niestety, kliknięcie na zasób pokazuje podgląd jego zawartości w formacie HEX+ASCII. W przypadkach, gdy zawartość jest zgrabna (zarchiwizowana), podglądu tego nie można odczytać, chyba że jest on przetwarzany za pomocą narzędzia, które potrafi go zdekompresować.

51
51
51
2013-03-29 19:32:56 +0000

Możesz skorzystać z darmowego narzędzia online, które stworzyłem: Google Chrome Cache Viewer . W rzeczywistości jest to dość łatwe do przeglądania pamięci podręcznej z tym, nawet jeśli zawartość jest spakowana.

2
Advertisement
2
2
2015-01-11 04:35:33 +0000
Advertisement

Jeśli potrzebujesz czegoś, co niekoniecznie istnieje w pamięci podręcznej przeglądarki, lub chcesz zobaczyć starszą wersję, powinieneś sprawdzić The Wayback Machine alias Internet Archive. Było ono dla mnie doskonałym źródłem pomocy przy wielu okazjach. Używam go do badania historii MMO, aby zrozumieć stare zestawy reguł, notatki z łatkami, itp. Wystarczy uderzyć w adres url strony, a pokaże ci on migawki, które ma na dysku.

1
1
1
2012-04-12 09:09:34 +0000

W zależności od strony i tego, co to jest, Google sam powinien mieć wersję podręczną, jeśli ich crawler był na nim, to znaczy.

Wystarczy spróbować Google strony, i zobaczyć, czy można go tam znaleźć. Jeśli go znajdziesz, najechać myszką na nazwę i strzałka powinna być widoczna po prawej stronie. Kliknięcie na nią spowoduje wyświetlenie linku do przechowywanej w pamięci podręcznej wersji strony.

0
Advertisement
0
0
2016-11-21 03:53:00 +0000
Advertisement

Najważniejsza sprawa: Skrytki w przeglądarkach są niestabilne, a stara zawartość jest agresywnie wyrzucana. Twoja skala “jak szybko działać” jest mierzona w minutach do godzin.

Zakładając, że CTRL+F w about:cache znajdzie adres URL, którego szukasz, poniższy skrypt spróbuje zapisać wszystko co pasuje do tego adresu. Jest to całkowicie zautomatyzowane. Napisałem to kiedy what.cd poszło w dół.

Jeśli w cache nie ma nic, gratulacje :( jesteś w trybie “hard”. Jeśli really chcesz odzyskać dane z pamięci podręcznej, musisz sprawić, aby TestDisk http://www.cgsecurity.org/wiki/TestDisk ) działał i sprawdzić, czy jest w stanie odzyskać cokolwiek z twojego folderu. Jeśli dane zostaną przywrócone do stanu czystego, być może uda Ci się je odzyskać z Chrome, ale możesz utknąć próbując bezpośrednio przetworzyć format na dysku. (Być może masz szczęście zasilania odzyskanych danych do przeglądarki NirSoft pamięci podręcznej.)

Jeśli rzeczywiście masz coś w about:cache, awesome!

  1. Stwórz gdzieś dwa foldery, jeden zwany “plikami” i drugi “surowy” (lub podobne nazwy).

  2. Otwórz chrome://settings/search#Download%20location

  3. Zmień folder z plikami do pobrania na surowy

  4. Otwórz about:cache (pozostaw otwartą zakładkę ustawień)

  5. Naciśnij F12, aby otworzyć devtools (zwróć uwagę - zignoruj wszelkie błędy polityki bezpieczeństwa treści, które widzisz cały czas, gdy devtools są otwarte)

  6. Skopiuj wszystko poniżej do schowka (upewnij się, że masz gigantyczną zgraję minifikowanych JS-ów na końcu, jest komentarz “koniec tekstu”)

  7. Przejdź do zakładki konsola w devtools

  8. Wklej, poczekaj, aż Chrome nadrobi zaległości i wciśnij enter.

  9. Teraz powinieneś mieć dwa przyciski na stronie internetowej cache. Wpisz łańcuch URL (nieregex dla uproszczenia), który chcesz dopasować. Naciśnij przycisk “raw” i ciesz się oglądaniem Chrome spazz out. :P

  10. Teraz przejdź do folderu “files”, wróć i kliknij przycisk “files”.

(11. Pamiętaj, aby zmienić folder pobierania z powrotem)

  • *

Teraz masz dwa foldery pełne danych.

Jeśli skrypt się zawiesił (miejmy nadzieję, że nie) lub wydrukował jakieś komunikaty o błędach w devtools po naciśnięciu przycisku “files”, wystąpił błąd parsowania, gdy deobfuscating plików, a ty będziesz musiał przeszukać swoją drogę przez surowe wersje. Jest to tylko problem parsowania i można go naprawić poprzez modyfikację skryptu, ale nie mam pojęcia, jakie odpowiedzi Chrome może wypluć w tym scenariuszu.

ŚWIADOMOŚĆ, że surowe dane zawierają informacje z nagłówka HTTP i uważaj, jeśli wysyłasz je komuś innemu, aby pomóc je odzyskać.

Jednym z głównych problemów jest dekompresja - używam losowej biblioteki gunzip JS, którą znalazłem online, może nie być idealna (choć powinna być w porządku). Jeśli wygląda na to, że ta biblioteka się zawiesiła lub ma problem, skomentuj linię JXG.decompress(), aby zapisać dane w formie gzipped i sprawdzić, czy można je ponownie napełniać lokalnie.

Innym problemem jest to, że Chrome zadławi się po otwarciu folderu z plikami do pobrania, ponieważ dumnie próbuje reprezentować pełny tekst pliku, który pobrałeś jako łańcuch base64. Naciśnięcie ‘x’ w tych plikach do pobrania zapobiegnie temu.

Zauważ, że to zapisuje znaki ukośników do przodu jako znaki ^ (caret) i zastępuje wszystkie inne (Windows) zabronione znaki znakiem “#” w nazwach plików, aby przechwycić pełny adres URL w zapisanej nazwie pliku.

  • *

Domena publiczna, brak własności. Enhance at will; został zbudowany w ciągu kilku (3-4) godzin (kod jest straszny). Tylko testowany na moim laptopie z Linuksem; mogą być błędy :D

Również - dużo kudos do zespołu Stack Exchange za zaakceptowanie tego 20KB+ postu. Postanowiłem podejść do sprawy “nie umieszczaj linków” w sposób ekstremalny. Mimo to wszyscy są mile widziani w tym skrypcie (i mam nadzieję, że go ulepszę!)

// CC0 | November 2016 by i336_ (asmqb7@gmail.com)

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 doesnt 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
0
0
2017-08-18 22:27:15 +0000

Zadziałało to dla mnie z Chrome 60.0.3163.49 (beta, sierpień 2017), aby wyświetlić zawartość pamięci podręcznej z funkcją Pokaż zapisaną kopię.

  1. Włącz flagę Chrome Show Saved Copy (kliknij tutaj) . Wybierz ‘Enable Primary’ - nie testowałem Secondary Relaunch Chrome za pomocą przycisku na dole. To spowoduje odświeżenie wszystkich twoich okien Chrome.

Jeśli masz jakieś karty, które są odłączone (strona nie jest teraz dostępna), mogą one nie odświeżyć się poprawnie z Relaunch'em, większość z nich to zrobi. Użyj prawego przycisku myszy SaveAs .htm, aby zapisać lokalną kopię przed ponownym uruchomieniem. W szczególności, jeśli masz wiele kart, które są historycznymi zrzutami z tej samej strony, ale o różnej zawartości historycznej, wszystkie one będą odświeżane z najnowszym zrzutem.

  1. Włącz tryb samolotowy lub odłącz się fizycznie od sieci. Funkcja Pokaż zapisane kopie działa tylko wtedy, gdy strona jest całkowicie odłączona. Jeśli odpowiedź jest powolna, a Err\Połączenie_czaswyłączony, przycisk Pokaż zapisane kopie nie jest wyświetlany.

  2. Otwórz listę pamięci podręcznej Chrome chrome://cache/ Zobaczysz długą listę linków URL do plików stron w pamięci podręcznej. Użyj Ctrl-F, aby znaleźć ten, którego szukasz. Podświetl i skopiuj ten, którego szukasz.

Uzyskanie dokładnego adresu URL z listy w pamięci podręcznej jest konieczne tylko wtedy, gdy chcesz wyświetlić konkretny plik z pamięci podręcznej, w przeciwnym razie dowolny link do strony powinien zostać wyciągnięty z pamięci podręcznej.

  1. Otwórz nową zakładkę.

  2. Wklej skopiowany adres URL do pola adresowego, wciśnij enter. Ładowanie strony nie powiedzie się przy braku błędu internetowego, a na dole powinien pojawić się przycisk ‘Show Saved Copy’.

  3. Kliknij przycisk “Show Saved Copy” (Pokaż zapisaną kopię), co spowoduje wyświetlenie zawartości strony w pamięci podręcznej, ale style i formatowanie mogą nie być prawidłowo zastosowane.

  4. Użyj strzałek Wstecz i Do przodu, aby odzyskać formatowanie. Wstecz wraca do strony Nowa karta. Wstecz wraca do strony zbuforowanej. Jeśli stylizacja i format są nadal w pamięci podręcznej, po ponownym utworzeniu strony zostanie ona zamalowana w pełnym formacie.

Jak w notatkach z i336, pamięć podręczna jest niestabilna. Im szybciej spróbujesz odzyskać zawartość pamięci podręcznej, tym większe masz szanse.

Funkcja Pokaż zapisaną kopię jest dostępna w sieci od grudnia 2012 roku, a w wiadomościach technicznych dopiero od maja 2015 roku tutaj CNet i tutaj PCWorld ), ale nie zostały wymienione w tym wątku Superuser (powstał w kwietniu 2012 roku). W połączeniu z trybem samolotowym i dokładnym adresem URL z listy pamięci podręcznej Chrome, zapewnia on prosty sposób na wyświetlanie konkretnych plików w pamięci podręcznej.

Narzędzia Senseful i i336 javascript mogą działać, ale nie udało mi się. Przypuszczam, że potrzebują one modów, aby dostosować się do specyficznego układu stron internetowych używanych na moich stronach. Użycie Show Saved Copy pozwala uniknąć zależności od wersji javascript.

0
Advertisement
0
0
2019-02-13 07:11:17 +0000
Advertisement

Można również po prostu prefix url z cache: i będzie ładować najnowszą google cache na chromie.

-4
-4
-4
2013-08-04 15:57:20 +0000

Podczas wyszukiwania w Google na końcu zielonej, kolorowej linii pojawi się trójkąt - kliknij na trójkąt, a pojawi się opcja “cache”. Kliknij na nią, aby uzyskać stronę Google w pamięci podręcznej.

Advertisement

Pytania pokrewne

16
1
18
10
17
Advertisement
Advertisement