Answers:
类型chrome://cache
在地址栏中获取由Chrome缓存的资源列表。
不幸的是,单击资源会显示其内容的HEX + ASCII预览。如果将内容压缩(存档),则无法读取此预览,除非使用可以对其进行解压缩的工具进行处理。
您可以使用我创建的在线免费工具:Google Chrome Cache Viewer。即使压缩了内容,使用此视图查看缓存实际上也相当容易。
如果您需要浏览器缓存中不一定存在的内容,或者说您想查看较旧的版本,则应查看Wayback Machine,又称Internet存档。在许多场合,它一直为我提供了很大的帮助。我用它来研究MMO历史,以了解旧的规则集,补丁说明等。只需在网站的网址上打孔,它就会向您显示已记录的快照。
最重要的一点:浏览器缓存易变,旧内容被大量丢弃。您的“多久采取行动”的规模以分钟到几小时为单位。
假定about:cache中的CTRL + F找到了您要查找的URL,下面的脚本将尝试保存与该URL匹配的所有内容。它是完全自动化的。当what.cd崩溃时,我写了这个。
如果您的缓存中没有任何内容,则恭喜:(您处于“硬”模式。如果您确实要返回缓存数据,则需要获取TestDisk(http://www.cgsecurity.org/wiki/TestDisk)正常工作,看看它是否可以恢复缓存文件夹中的任何内容。如果数据可以干净地恢复,则可以从Chrome浏览器中获取数据,但是您可能在尝试直接解析磁盘格式时遇到了麻烦(可能运气不好)恢复的数据到NirSoft缓存查看器。)
如果您实际上在about:cache中有东西,那就太棒了!
在某处创建两个文件夹,一个称为“文件”,另一个称为“原始”(或类似名称)。
打开chrome:// settings / search#Download%20location
将您的下载文件夹更改为原始文件夹
打开about:cache(将“设置”标签保留为打开状态)
按F12键打开devtools(注意-忽略在打开devtools整个过程中看到的任何内容安全策略错误)
将下面的所有内容复制到剪贴板(确保最后获得了一大堆缩小的JS,并有“文字结尾”注释)
转到devtools中的控制台选项卡
粘贴,等待Chrome赶上来,然后按Enter。
现在,您应该在缓存网页上有两个按钮。输入您要匹配的URL字符串(为简化起见,非正则表达式)。点击“原始”按钮,欣赏Chrome的炫光效果。:P
现在,将您的下载文件夹切换到“文件”文件夹,回来并单击“文件”按钮。
(11.记住将您的下载文件夹改回原来的位置)
现在,您有两个充满数据的文件夹。
如果当您按下“文件”按钮时脚本崩溃(希望不是)或在devtools中打印任何“保存错误”消息,则在对文件进行模糊处理时会出现解析错误,您将需要逐步解决原始版本。这只是一个解析问题,可以通过修改脚本来解决,但我不知道Chrome在这种情况下可以吐出的所有响应。
请注意,原始数据包含HTTP标头信息,如果将其发送给其他人以帮助恢复它,请务必小心。
一个主要的问题是减压-我使用的是我在网上找到的随机gunzip JS库,它可能并不完美(尽管应该没问题)。如果该库崩溃或出现问题,请注释掉JXG.decompress()行,以gzip格式保存数据,然后查看是否可以在本地重新填充它。
另一个问题是,当您打开下载文件夹时,Chrome会阻塞,因为它试图以base64字符串形式表示下载文件的全文。在这些下载中点击“ x”将阻止该行为。
请注意,这会将正斜杠另存为^(脱字符号)字符,并用文件名中的“#”替换所有其他(Windows)禁止的字符,以捕获保存文件名中的完整URL。
公共领域,没有所有权。随意增强;是在两三个(3-4)小时内完成的(代码太糟糕了)。仅在我的Linux笔记本电脑上进行了测试;可能有错误:D
另外,对于Stack Exchange团队接受这个20KB以上的帖子也非常感谢。我决定将“不发布链接”的事情推向极端。就是说,欢迎每个人使用此脚本(并且非常希望对其进行改进!)
// 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 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
这与Chrome 60.0.3163.49(测试版,2017年8月)一起为我工作,可通过“显示保存的副本”功能显示缓存内容。
如果您有任何选项卡已断开连接(该站点现在不可用),则大多数时候这些选项可能无法通过重新启动而正确刷新。在重新启动之前,使用鼠标右键单击SaveAs .htm保存本地副本。特别是,如果您有多个选项卡,这些选项卡是同一页面的历史快照,但具有不同的历史内容,则它们都将使用最新的快照刷新。
打开飞行模式或与网络物理断开连接。
仅当站点完全断开连接时,“显示保存的副本”功能才起作用。如果响应速度很慢,并且Err_Connection_Timed_Out超时,则不会显示“显示保存的副本”按钮。
打开Chrome缓存列表chrome:// cache /,
您会看到一长串指向已缓存页面文件的URL链接。
使用Ctrl-F查找要查找的那个。
突出显示并复制所需的内容。
仅当您要从缓存中显示特定文件时,才需要从缓存列表中获取确切的URL,否则指向页面的任何链接都应从缓存中提取。
打开一个新标签页标签。
将复制的URL粘贴到地址框中,然后按Enter。
页面加载将失败,并出现No Internet错误,并且在底部,
您应该看到“显示已保存的副本”按钮。
单击“显示保存的副本”,这将显示缓存的页面内容,但是样式和格式可能未正确应用。
使用“后退”和“前进”箭头恢复格式。
返回返回到“新选项卡”页面。
转发返回到您的缓存页面。如果样式和格式仍在缓存中,则页面重绘时将以完整格式进行绘制。
如i336所述,缓存是易失的。您越早尝试恢复缓存内容,机会就越大。
自2012年12月以来,“显示保存的副本”功能已在网络上发布,而技术新闻则最早在2015年5月发布(此处为CNet和PCWorld),但此超级用户线程(始于2012年4月)未提及。与飞行模式和Chrome缓存列表中的确切网址结合使用时,它提供了一种显示特定缓存文件的简单方法。
Senseful和i336 javascript工具可能有效,但对我而言却失败了。我认为他们需要mod来适应用于我的页面的特定Web布局。使用“显示保存的副本”可以避免javascript版本的依赖性。