背景: 刷知乎時,老是需要用滑鼠點下一頁,對於懶人來說,太過麻煩。 功能: 敲擊 “←” 、“→”,實現上一頁、下一頁功能。 思路: 通過谷歌擴展來實現:監聽鍵盤事件,如果keycode為37、39時,進行上一頁、下一頁操作。 疑問: 本想著如果檢測到keycode為37、39時,直接觸發按鈕“上一
背景:
刷知乎時,老是需要用滑鼠點下一頁,對於懶人來說,太過麻煩。
功能:
敲擊 “←” 、“→”,實現上一頁、下一頁功能。
思路:
通過谷歌擴展來實現:監聽鍵盤事件,如果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)谷歌擴展教程