访问Google Chrome的缓存

时间:2010-04-28 14:08:47

标签: google-chrome

是否可以在扩展程序中访问Google Chrome的缓存?

我想编写一个扩展程序,在无法访问在线版本时加载页面的缓存版本(例如,Internet连接问题)。

更新:我知道我可以编写一个可通过扩展程序访问的NPAPI插件来完成此操作但我宁愿不写一个...我正在解决没有请求使用NPAPI。

注意:据我所知,谷歌浏览器不支持此功能(至少不是开箱即用):我只是有一集“无法访问互联网” “我被困了......

3 个答案:

答案 0 :(得分:4)

不幸的是,如果不在扩展程序中使用NPAPI,我99%肯定这是不可能的。

Chrome扩展程序已沙箱化到自己的进程,并且只能访问扩展程序文件夹中的文件。

chrome://favicon/之类的内容有所支持。但这就是它,至少目前是这样。

Source (Google Chrome Extensions Reference)

答案 1 :(得分:0)

P.S。我只是有一个疯狂的想法。扩展程序只能访问其文件夹中的文件...但Chrome会将其缓存存储在缓存文件夹中。您可以尝试将Cache文件夹复制(或移动)到扩展中的子文件夹中。扩展现在应该能够访问缓存。

这是否足以实际启用离线模式......我不知道。不过,我确实在我的Cache文件夹中看到了一些HTML文件(显然很多图片)。

事实上,即使不使用扩展程序,我也可以在Chrome中打开HTML文件。而且因为它们存储在您的计算机上,即使没有互联网,您也应该可以访问它们。

P.S。 Cache文件夹存储在PATH-TO-CHROME / Default / Cache

P.P.S。有一种方法可以存储整个网页并将其存档以供日后使用。看看这个扩展名:

https://chrome.google.com/extensions/detail/mpiodijhokgodhhofbcjdecpffjipkle

答案 2 :(得分:0)

只需创建一个简单的插件清单,调用一个从CDN加载jQuery的AJAX页面,然后使用它来解析页面上的所有<a>元素并更改href值以使其具有此前缀:http://webcache.googleusercontent.com/search?q=cache:

所以<a href="http://stackoverflow.com/questions/blah">变为:

<a href="http://webcache.googleusercontent.com/search?q=cache:http://stackoverflow.com/questions/blah">

Voilà,你是高速缓存冲浪,但你还是需要去谷歌。我理解这个答案有点超出了问题的范围,但仍解决了很多网络连接问题。

我很想去写这个插件,但我敢打赌它会被谷歌眼中的禁忌所以它会被阻止或者很快被删除。 :)