利用onBeforeRequest和快照实现更便利的快照访问插件
【摘要】 场景是这样的,google快照在企业内网白名单,但是要浏览的页面的域不在白名单内,并且需要访问的页面主要是静态文本内容并且拥有搜索快照;这个时候如果是单页面,我们也没什么,但是如果快照内还有相关的兄弟链接我们希望点击访问,这个时候正常还是不能直接访问,需要人为添加https://webcache.googleusercontent.com/search?q=cache:前缀继续访问(参考:h...
场景是这样的,google快照在企业内网白名单,但是要浏览的页面的域不在白名单内,并且需要访问的页面主要是静态文本内容并且拥有搜索快照;
这个时候如果是单页面,我们也没什么,但是如果快照内还有相关的兄弟链接我们希望点击访问,这个时候正常还是不能直接访问,需要人为添加https://webcache.googleusercontent.com/search?q=cache:前缀继续访问(参考:https://stackoverflow.com/questions/4560400/how-can-i-get-the-google-cache-age-of-any-url-or-web-page)
而我们可以注意到这种场景下同一页面中的兄弟节点一般都是同一个网站域下面的,也就是具有相似特征的;这个时候我们就可以利用chrome.webRequest.onBeforeRequest对所有请求进行捕捉并进行重定向;
举个例子假设我需要用快照方式访问https://chai2010.cn/advanced-go-programming-book/ch1-basic/ch1-01-genesis.html这个链接
相关插件代码如下:
chrome.webRequest.onBeforeRequest.addListener( function(details) { var rUrl = ""; if(details.url.indexOf('chai2010')!=-1){ rUrl = "https://webcache.googleusercontent.com/search?q=cache:"+details.url.replace('http://',''); } return { redirectUrl: rUrl }; }, { urls: [ "*://chai2010.cn/*", "*://chai2010.gitbooks.io/*" ], types: ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"] }, ["blocking"] );
重新加载插件后我们再次点击上面那个链接就会自动跳到快照地址,点击Nav中的其他链接也会自动跳到快照地址;
当有其他不在白名单但有快照的域时也可以按照上面的规则继续添加;
感觉挺方便的,共享给各位;
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)