50 元订制一条 油猴脚本,已经有针对 google 的了,缺针对 bing 和 yahoo 的,功能是: [让检索结果页面的缓存或者快照可以点击]

2017-09-21 17:32:52 +08:00
 voidtools

https://greasyfork.org/zh-CN/scripts/725-google-cache-comeback

// ==UserScript== // @name google cache comeback // @namespace trespassersW // @description Brings back links to cached pages in the Google search results // @include http://www.google.* // @include https://www.google.* // @include http://webcache.googleusercontent.* // @include https://webcache.googleusercontent.* // /homepageURL http://userscripts.org/scripts/show/156216 // /updateURL https://userscripts.org/scripts/source/156216.meta.js // @version 2.016.0130 // @grant GM_addStyle // @grant GM_log // @run-at document-start // 2016-01-30 * hotfix: li.g became div.g // 2014-07-20 run-at start + run-at end // 2013-05-31 2.2.4 plain cache links; thanks to luckymouse[userstyles.org/styles/64844] // 2013-02-11 2.2.3 default: Esc shows gCache; cached/similar always visible. // 2013-02-04 2.2.2 more "run by ESC" options // 2013-02-02 2.2.1 run by ESC option comeback // 2013-01-31 2.2 native G cache/similar links revealed; no Escape required // 2013-01-24 2.1 now works in cached pages called from preview // 2013-01-11 2.0 hit ESC to run the script! // 1.3.3 links to alien cached pages // 1.3.1 links to cache in cached page // 1.2.1 internal links in cached page become internal // @icon data:image/gif;base64,R0lGODlhFgAYAOePAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///yH5BAEKAP8ALAAAAAAWABgAAAj+AP8JHDiQj0E+BBMq/IdIlTd06LypQrQw4adx3BrhyZMHTyNu4z5VFKjMGyI7BO0g8qZsZKFpoeQolBNqWqGFXUgZ01NRjzFSXRR2EZVM5kI5yUQFTXil07IxFccs63RF4RJJ0ZZMakZunrxxzkg5iSZpiUIiiEhlWyfvHj588tqNq7bKDxGFRkRZI7duHj59+Oa1I7fNmS2zBP0EUzYtm5ohWdTQOfNEiaFlw3CJHKhKVzFmTZjgMeXrl69QaojU4SWLFEFTsnjNSULHVK1YvXLV8nRmSCVUnxoJ3NPoUqYhZ+QseprFzbZMcbpAqaRokEA3fhIFQuJlDZ87YLydePGDJ46XJJME7REIBs4eQz26nNEh5o79KkPgZHnC6I4bgU5oYQYcViTRhRcm8CCEDj6o0UUSeKwxRhQDKbGFGYXgYKAYTCCxxRkPKnGIF1UoMVAPAWLYQxJVdOFiFUkoUYkWUxShUA5KPIEFIatckggppvgRhRJC3FBRDUQo4YQUUnghxZBH9CDDSP+8kMMPQ2Q5RBBSskDllwoFBAA7 // ==/UserScript== const runByEsc = false // | true /* hit ESC to run on search & cached pages / const runByEscCached = false // | true / hit ESC to run on cached page / const runByEscSearch = false | true / hit ESC to run on search page / / the reasons of options listed above:

var iconAcnhor, gComemBack; const bref = "http://webcache.googleusercontent.com/search?ie=UTF-8&q=cache:";

var insideCache;

function main(e){ if( insideCache ) casche(e); else rezultz(e); }

function rezultz(e){ /* v2.1 13-01-24 / if(Xel('//a[starts-with(@class,"googCacheComeBack")]')) { //GM_log('search: already') return; } if(e) e.preventDefault() , e.stopPropagation(); try{ var rez = Xels('//div[@id="search"]//div[@class="g"]'); for(var i=0,li=rez.length; i< li; i++){ var a=Xel('.//a',rez[i]); a.removeAttribute("onmousedown"); // it's not my funeral var aref=bref + hesc(a.href); // var cache= buildEl('span',{style: 'color: black'},null,' ‣ '); cache.appendChild( buildEl('a', {href: aref, 'class': 'googCacheComeBack fl' //,style: 'color: #0E1BA3; text-decoration: none;' ,target:'_blank'}, null,'gCache')); var cite = Xel('.//cite',rez[i]); cite && cite.appendChild(cache); } }catch(e){ GM_log('cacherr:\n'+e) } / */ }

function casche(e) //{try {//inside cached page if(Xel('//a[starts-with(@class,"gooCache")]')) { //GM_log('cache: already') return; } if( runByEsc || runByEscCached ) e.preventDefault(), e.stopPropagation(); var hloc=location.href+''; /2012-07-14/ hloc=hloc.split(//?#|%23/)[0]; var loc =hloc.match(/[&?]q=cache:(.*)/); if(!loc || !loc[1]){ GM_log('not webcache\n'+hloc); return;} // loc=loc[1]; //unescape(loc[1]); loc = Xel("/html/body/div/div/a").href+''; // 2013-01-24 var ctr=0; var dom= FLD(loc); var L=unsafeWindow.document.links; GM_addStyle(iconAcnhor);

for( var i= L.length-1; i>=0; i--){ var ref=L[i].href.split(//?#|%23/); //http://support.mozilla.org/en-US/kb/categorizing-bookmarks-make-them-easy-to-find#w_using-tags // ref.length>1 && GM_log('l#'+ref[0]+'#'+ref[1]) if(ref.length>1 && ref[0]==loc){ // GM_log('A#'+ref[0]+'#'+ref[1]) L[i].href=hloc+'#'+ref[1]; // it should be full URL 'cause G defines BASE in page's header L[i].removeAttribute("onmousedown"); // ?? L[i].className = (L[i].className?L[i].className+' ':'') + 'gooCacheAnchor'; }else{ var refdom=FLD(ref[0]); //GM_log('refdom: ' + refdom.d ) if(refdom && dom){ e=buildEl('a',{'class': (refdom.d==dom.d)?'gooCacheLink':'gooCacheExt', /* / title: 'cached', / */ href: bref+hesc(L[i].href) },null,''); //'↓' insAfter(e,L[i]); } } } //}catch(e){GM_log('linkerr:\n')+e;} }

function hesc(href){ var hr=href+''; const re=/^(.+?)([?#&].*)$/; var m=hr.match(re); if(m && m.length==3){ hr=m[1]+escape(m[2]); //GM_log('!'+hr); } return hr; }

function buildEl(type, attrArray, eL, html){ var node = document.createElement(type); for (var attr in attrArray) if (attrArray.hasOwnProperty(attr)) node.setAttribute(attr, attrArray[attr]); if(eL) node.addEventListener(eL[0], eL[1], eL[2]?true:false); if(html) node.innerHTML = html; return node; }

function Xel(XPath, contextNode){ var a = document.evaluate(XPath, (contextNode || document), null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); return (a.snapshotLength ? a.snapshotItem(0) : null); }

function Xels(XPath, contextNode){ var ret=[], i=0; var a = document.evaluate(XPath, (contextNode || document), null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); while(a.snapshotItem(i)) ret.push(a.snapshotItem(i++)); return ret; }

function FLD(url){ var dm=url.match(/^( https?:)//(.+?)//); if(!dm || dm.length<3) return null; dd=dm[2].split('.'); if(dd.length<2) return null; return {p:dm[1], d: dd[dd.length-2]+'.'+dd[dd.length-1]}; } /* * / function insBefore(n,e){ return e.parentNode.insertBefore(n,e); }/* / function insAfter(n,e){ if(e.nextSibling){ e.parentNode.insertBefore(n,e.nextSibling); }else if(e.nextElementSibling){ e.parentNode.insertBefore(n,e.nextElementSibling); }else e.parentNode.appendChild(n); } iconCacheLink='
content:url(data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAABMklEQVQoz42QP0tCYRSHnxuXhjCIigtW4KBRweuU1NDS0lIY9AFaWqItDIy+goM01RAI0ewkCG1BShQuweXqTRwasugS9EejWk6DaPfmTfot73nPOQ+/c46GS+l8Xdz/xPKYRi+l83VxmiIiIk5T5PjcERVPyr8AFU+Kiiclf/0qm0e2L6i3g9EBiK7uYuZSGkBla1uGA/2+Jn3t4MuneFNv+EJaofouewenPfc1JiJkd6KaZ7y1pXmK5SduHxWl2k9zLAwhw8Q+O/HudFV99gDpjXtqD00u7QilGoSMbmcd8ABzk0NMjwdYmX2jctegWP4DcqvtnL1QwCCxcLAbcl4+CRkmoEhkgsTCAK23NZ6Jbfk4LcyMAC3w9yH8pANkDvc7CeUqflhgWzC1uI6ZS3Xy35M8hMl4RkDrAAAAAElFTkSuQmCC
)'; iconAcnhor= '
.gooCacheAnchor:after{
position: relative; top: 6px;
content:url(data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAKCAYAAACJxx+AAAAAWElEQVR42mNkQAM6vmX/r2zuYoTxGdEl1R1iGW4eWMwAU8RIkgnBvZf/w9hri3XJMAGnApDRMCORFYDE4YIg14MUwRSAJEG+gSsA0SBFMADzKkY4wNgwawC9Qz2rUJ9HmwAAAABJRU5ErkJggg==
)}
.gooCacheLink:before{
position: relative; top: 6px; opacity: 0.8;'+ iconCacheLink+ '}
.gooCacheExt:before{
position: relative; bottom: 4px; opacity: 0.8;
content:url(data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAKCAYAAACJxx+AAAAAkklEQVR42mNkQALbLn76f+PpF4b1u08yvL9zHCzGyIAF9G179h+miBGXZKCrOdgkRmTVICCoYgmWLPKSAssx2hau/w8S4BaTBCuY3FgOVnS4P5AR5CZGHd+y/7n1nWAJZHBlcxfYehQFSZkFYJNAbBQFMAkQ+PrqOcO86RMQCkBuADkQZC8IwNggN4AV4PMFiA8ADbFh5B0GQNAAAAAASUVORK5CYII=
)}
.googCacheComeBack{
}
'; // from: [http://userstyles.org/styles/64844/google-search-plain-view-cached-similar-links] // by luckymouse [http://userstyles.org/users/14255] gComeBack ='
.clickable-dropdown-arrow.ab_button
,a[id^="am-b"].ab_button
{display: none !important;}
.action-menu.ab_ctl {
position: static !important;
display: inline-block !important;
margin: 0 !important;
vertical-align: baseline !important;}
.action-menu-panel.ab_dropdown {
visibility: visible !important;
position: static !important;
box-shadow: none !important;
border: none !important;}
.ab_dropdownitem {display: inline !important;}
.ab_dropdownitem::before,
.ab_ctl + a.fl[href
="translate.google.com/"]::before
{content: "\00a0\2023"; color: #000;
padding-right: 2px; font-size: 14px !important;}
.ab_dropdownitem:hover {cursor: auto !important; background: transparent !important;}
.action-menu a[id^="am-b"],/14-05-20/
.action-menu-item div.action-menu-button {display: none !important; }
.action-menu-item a.fl {
color: #1122CC !important;
display: inline !important;
padding: 0 3px 0 0 !important;
font-size: 14px !important;
}
.action-menu-item a.fl:hover {text-decoration: underline !important;}
/2013-06-14/
.action-menu-panel.ab_dropdown {background-color: transparent !important;}
div.f[style*="white-space:nowrap"] {white-space:normal !important;}
.action-menu-button {display: inline !important; }/**/
.kv, .slp { display: inline-block !important; padding-left: 4px !important;}
/2014-07-14/
.s .f.slp:empty{display:none!important;}
.s span.st {display:inline-block !important;}
.cr-dwn-arw{margin-left: 2px!important;}
'; // insideCache = location.href.indexOf('webcache')>=0;

if(!insideCache) GM_addStyle(gComeBack); /* 11-02-31 */

window.addEventListener("load",function(e){ /* 2014-07-20 */ if( runByEsc || (insideCache && runByEscCached) || (!insideCache && runByEscSearch) ) { window.addEventListener("keydown", function(e){ if(e.keyCode==27){ main(e); }}, false); }else main(null); },false); // end

1633 次点击
所在节点    JavaScript
1 条回复
voidtools
2017-09-21 17:33:50 +08:00
排版咋这样了。烦请点击上方的 link

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX