代码可以在 https://pan.baidu.com/s/1uN120-18hvAzELpJCQfbXA  处下载 说思路 页面加载一段时间后,判断页面有没有宝箱,如果没有就停止注入js,如果有则 激活一个timer timer 循环判断是否还有宝箱,如果有,则把宝箱信息 写 入document.title用于提醒用户,并判断是否为验证页面,如不是则不断点击宝箱的领取按钮与进行验证按钮. 好,加入一个js 目录,添加一个 treasureBox.js,代码如下 function getBoxI…
1.从 https://pan.baidu.com/s/1yBfZFtcakbDxmyas0VCpRw 下载 DouyuRoom.zip 然后解压到一个目录,我是放在C盘根目录下的,你们随意.然后解压到当前文件夹, 2.在chrome浏览器里输入 chrome://extensions/ 打开开发者模式 3.找到解压后目录中的manifest.json 文件,这个文件的 上层目录名应该“DouyuRoom” ,把 目录DouyuRoom 拖入Chrome浏览器中,这样就完成了安装. 右击扩展来看…
来说下 桌面通知 Notification,HTML5支持 Web Notifications 的实例,但是要经过用户允许,  chrome://settings/content/notifications 设置/高级设置/内容设置/通知 里查看哪些是禁止或授权的,还可以在网页栏左边查看 代码如下 if (window.Notification) { if (Notification.permission != "granted") { Notification.requestPerm…
看斗鱼有些时间了,也写了不少辅助的js,但是昨天不小心把硬盘分区表搞没了,自己写了好久的代码不见了,DiskGenius 也没恢复成功,所以要重写一次,大家要引以为鉴,常备份代码,github是个不错的选择. 先通过一个简单的程序, 来认识下 Chrome 扩展,通过最简单的2个文件,就能组成一个Chrome扩展(图标的那个可以不要) 1. manifest.json 主要文件,一些权限说明都在此注册 content_scripts.js 主要执行文件(这里我们只要打一行文字) chrome:/…
1.背景:     工作中是否有这样的场景?一个软件系统会同时有多个不同版本部署,比如我现在做的IM系统,同时又作为公司的技术输出给其他银行,不同的银行有自己的业务实现(比如登陆验证.用户信息查询等): 又或者你的工程里依赖了公司的二方包A,A又依赖了B...这些jar包里的组件都是通过Spring容器来管理的,如果你想改B中某个类的逻辑,但是又不可能让架构组的人帮你打一份特殊版本的B:怎么办呢?是否可以考虑下直接把Spring容器里的某个组件(Bean)替换成你自己实现的Bean? 2.原理&…
Selenium.WebDriver Selenium WebDriver 是一组开源 API,用于自动测试 Web 应用程序,利用它可以通过代码来控制chrome浏览器! 有时候我们需要mock接口的返回,或者拦截和转发请求,今天就来实现这个功能 代码已开源: https://github.com/yuzd/OpenQA.Selenium.Chrome.Fiddler nuget OpenQA.Selenium.Chrome.Fiddler 开始coding 我们新创建一个功能:OpenQA.…
之前我们都把数据 放在了 localStorage 里,但扩展一旦卸载,数据就会被清空, 在Console里备份,一次只能输出一条,小白操作起来很不方便,所以能不能 导入,导出文件来进行备份还原呢? 这里的用到FileReader 这个类,还有一个FileSaver.js ,开源的网上能下载到. 导入导出 核心代码如下 <!DOCTYPE html> <html> <head> <title></title> </head> <…
Global.asax 是 程序入口文件 路由配置   为什么localhost:8088/Home/Index/1 能返问到我们写的 会去掉前缀跟端口号  变成Home/Index/1 用这个跟路由规则进行匹配 **************路由扩展的三大层面 1. 直接用routers.MapRoute进行扩展   (这里定义的规则在源码中就是生成一个Route) 2. 扩展Route 2.1 创建一个扩展规则 添加到RouteData中  这个对象就是存放的路由规则 只要发起请求的浏览器版本…
新框架的容器部分终于调通了!容器实在太重要了,所以有用了一个名词叫“核心容器”. 容器为什么那么重要呢?这个有必要好好说道说道. 1.首先我们从框架名称面向接口编程说起,什么是面向接口编程?(这个度娘回答一下) 解读一下:类是个体的定义(建模), 个体的每一方面都可以是一个接口 说白点,其一接口可以代表对象(类)一个方面,再说透点对象可能是多面手(继承多个接口),能在不同场景(作为不同接口的实例)下正常工作 其二每个接口可以有不同实现,只要实现了这个接口,基本上就可以替换这个位置来正常工作 2.…
在实际运用中.比方在数据仓库中,常常须要对数据进行多维分析.不仅须要标准分组的结果(相当于 GROUP BY),还须要不同维度的小计(简单 GROUP BY 中取部分列分组)和合计(不分组).从而 提供多角度的数据分析.对于这样的复杂分组需求,简单 GROUP BY 非常难达到这样的目的,当然.我们能够 使用 UNION 或 UNION ALL 将不同维度的分组结果联合起来,但性能往往不好,此时,我们能够使用扩 展 GROUP BY 来满足实际运用中出现的大部分多维分组问题. 1. 扩展 GRO…