你的位置:首页 > Java教程

[Java教程]【鬼脸原创】谷歌插件


背景

        刷知乎时,老是需要用鼠标点下一页,对于懒人来说,太过麻烦。

功能

        敲击 “←” 、“→”,实现上一页、下一页功能。

思路

       通过谷歌扩展来实现:监听键盘事件,如果keycode为37、39时,进行上一页、下一页操作。

疑问

       本想着如果检测到keycode为37、39时,直接触发按钮“上一页”、“下一页”的点击事件;无奈总是不行,如果有懂的,还请赐教~

       最后通过捕获当前的url,直接进行跳转。

代码

       图方便,直接引用了Jquery库。

       总共插件分为几个部分:jquery库、logo图标、manifest.json、自定义js

      1)manifest.json 内容如下:

 1 { 2   "manifest_version": 2, 3   "name": "知乎快捷翻页", 4   "version": "1.0", 5   "description": "使用左右箭头进行快速翻页", 6   "icons": { 7     "16": "16.png", 8     "48": "48.png"    9   },10   "browser_action": {11     "default_icon": {12       "19": "16.png",13       "38": "48.png"14     },15     "default_title": "使用左右箭头进行快速翻页"    16   },17   "content_scripts": [18   {19    "matches": ["https://www.zhihu.com/*"],   20    "js": ["js/jquery.js","js/zhihu.js"]21   }22  ]23 }

        2)自定义js——zhihu.js 内容如下:

 1 String.prototype.endWith=function(endStr){ 2  var d=this.length-endStr.length; 3  return (d>=0&&this.lastIndexOf(endStr)==d) 4 } 5 document.onkeydown=function(event){   6    var curl = window.location.href;//当前url 7    var c_page =1;//当前页码 8    var url_header='';//当前url的主体    9    if(curl.indexOf('?page=')>-1){ 10    url_header = curl.split('?')[0];11    c_page= parseInt(curl.split('page=')[1]);    12   }else if(curl.endWith('top-answers')||curl.endWith('questions'))13    {14     url_header = curl;15    }16   var prev_page=c_page-1<1?1:c_page-1;17   var next_page = c_page+1;//下一页18   var e = event || window.event || arguments.callee.caller.arguments[0];   19    if(e.keyCode==39)20    { 21     //下一页 22     window.location.href=url_header+'?page='+next_page;23    }else if(e.keyCode==37)24    {25     //上一页 26     window.location.href=url_header+'?page='+prev_page;27    }28  29 }; 

使用

      

资源

       1)谷歌扩展教程

       2)完整的知乎翻页扩展