【鬼脸原创】谷歌扩展--知乎V2.0
目的:
用键盘替代鼠标,做一个安静刷知乎的美男(女)子!
功能:
| 功能 | 按键 | 说明 |
| 直接定位到搜索框 | q | |
| 打开 首页 | w | |
| 打开 话题 | e | |
| 打开 发现 | r | |
| 打开 消息 | m | |
| 打开 个人主页 | u | |
| 打开 我的草稿 | c | |
| 打开 我的收藏 | s | |
| 打开 关注的问题 | g | |
| 打开 邀请我回答的问题 | y | |
| 打开当前可见范围内的第一个问题 | 回车 | 仅针对<首页>下的<最新动态> |
| 自动加载 更多 | 空格或者↓ | 仅针对页面加载方式为滚动加载时 |
| 上一页or下一页 | ← or → | 仅针对页面加载方式为翻页加载 |
| 忘记这些快捷键时,直接敲击 h 键,会弹出帮助信息。 | ||
实现代码
只介绍关键的两个:
1)自动加载更多
说明:当刷最新动态时,在不断滚动的过程中,底部会出现‘更多’按钮,每次都需要用鼠标点击一下
思路:当每次滚动至底部时,自动触发‘更多’按钮的点击事件。
实现代码:
if(e.keyCode==40||e.keyCode==32){
//下箭头 || 空格
var scrollTop = $(window).scrollTop();
var scrollHeight = $(document).height();
var windowHeight = $(window).height();
if(scrollTop + windowHeight == scrollHeight){
document.getElementById('zh-load-more').click();
}
}
2)打开当前可见范围内的第一个问题
说明:刷最新动态时,看到感兴趣的问题,每次都需要手动点击一下,能不能直接敲击回车,一键打开这个问题呢?答案是肯定的。
思路:通过分析html源码,得知每个问题都是一个固定高度的div。所以可以通过得到当前滚动条的Y坐标,除以div的高度,就可以得到目标。
实现代码:
if(e.keyCode==13) {
//回车:直接打开最接近顶部的那条问题
//每条问题的height==219
var y= GetPageScroll().Y; //滚动条的位置
var index =parseInt(parseInt(y)/220); //当前的div
var title= $('#js-home-feed-list div.feed-item').eq(index).find('h2').html();
var a_href = $('#js-home-feed-list div.feed-item').eq(index).find('h2').find('a').attr('href');
window.open('https://www.zhihu.com'+a_href);
}
function GetPageScroll()
{
var x, y;
if(window.pageYOffset){
// all except IE
y = window.pageYOffset;
x = window.pageXOffset;
}
else if(document.documentElement && document.documentElement.scrollTop){
// IE 6 Strict
y = document.documentElement.scrollTop;
x = document.documentElement.scrollLeft;
}
else if(document.body) {
// all other IE
y = document.body.scrollTop;
x = document.body.scrollLeft;
}
return {X:x, Y:y};
}
完整代码:=请点击我=
V1.0:只是简单实现了上一页、下一页功能,详情请点击我!
【鬼脸原创】谷歌扩展--知乎V2.0的更多相关文章
- 带你全面认识CMMI V2.0(一)
新发布的CMMI V2.0在方法论和方法上都提出了一些战略上的变化和改进.这些更新提供了新的要求.历史标准的演进以及以往实践的延续. CMMI V2.0和CMMI V1.3的变化 CMMIV2.0的定 ...
- 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞
文章作者:rebeyond 注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台.I.S.T.O版权所有,转载需注明作者. 受影响版本:貌似都受影响. 漏洞文件:use ...
- 运维工程师打怪升级进阶之路 V2.0
在此之前,发布过两个版本: 运维工程师打怪升级之路 V1.0 版本发布 运维工程师打怪升级必经之路 V1.0.1 很多读者伙伴们反应总结的很系统.很全面,无论是0基础初学者,还是有基础的入门者,或者是 ...
- BurpSuite pro v2.0 使用入门教程
BurpSuite简介 BurpSuite是进行Web应用安全测试集成平台.它将各种安全工具无缝地融合在一起,以支持整个测试过程中,从最初的映射和应用程序的攻击面分析,到发现和利用安全漏洞.Burps ...
- POLARDB v2.0 技术解读
点击观看“POLARDB 2.0 升级发布会”:https://yq.aliyun.com/live/1136 回顾POLARDB 1.0 POLARDB 1.0 主要的改进包括采用了计算存储分离的架 ...
- [Android]Android端ORM框架——RapidORM(v2.0)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5626716.html [Android]Android端ORM ...
- 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1. 前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...
- Heatmap.js v2.0 – 最强大的 Web 动态热图
Heatmap 是用来呈现一定区域内的统计度量,最常见的网站访问热力图就是以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示.Heatmap.js 这个 JavaScript 库可以实现 ...
- 数据获取以及处理系统 --- 功能规格说明书V2.0
产品规格说明书: 版本号: V2.0 版本说明: Version 1.0 简单得需求分析以及构思,初稿形成 Version 2.0 细化beta阶段设计,增加典型用户尝尽以及功能罗列 1. 引言 1. ...
随机推荐
- loj2538 「PKUWC2018」Slay the Spire 【dp】
题目链接 loj2538 题解 比较明显的是,由于强化牌倍数大于\(1\),肯定是能用强化牌尽量用强化牌 如果强化牌大于等于\(k\),就留一个位给攻击牌 所以我们将两种牌分别排序,企图计算\(F(i ...
- 20135239益西拉姆 Linux内核分析 进程的描述和进程的创建
[益西拉姆 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] 第六周 进程的描述 ...
- Android应用自动更新功能的实现!
Android应用自动更新功能的实现!http://blog.csdn.net/android_tutor/article/details/7015986 private static final i ...
- 解题:CF1009 Dominant Indices
题面 长链剖分模板题 只能按深度统计,同时比DSU on tree难理解一些,但是复杂度少个log 对每个点抓出向下延伸最长的儿子叫做长儿子.在合并时用指针继承信息,对于长儿子O(1)继承,其他儿子暴 ...
- 利用solr实现商品的搜索功能
后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据 ...
- 【Asp.net入门4-04】使用Nuget
- Java入门:基础算法之线性搜索
本程序使用线性搜索算法从n个数中查找一个数. /* Program: 线性搜索示例 * @author: 理工云课堂 * Input: 元素个数,每个元素值,待查找数据的值 * Output:待查找数 ...
- GO_10:GO语言基础之error
Go错误处理 Go 语言通过内置的错误接口提供了非常简单的错误处理机制. error类型是一个接口类型,这是它的定义: type error interface { Error() string } ...
- vue中import xxx from 和 import {xxx} from的区别
1.import xxx from import FunName from ‘../xxx’ 对应js中的引用: export defualt function FunName() { return ...
- 两步建立 ssh 反向隧道
因为需要在寝室访问实验室的内部网络,刚好自己购买了阿里云,因此,可以远端干活了,mark下方法: 第一步:在内网的服务器上,使用ssh 命令建立反向隧道 publicUserName@publicIp ...