火狐下的GreaseMonkey和Chrome下的tampermonkey使用手记
说明:GreaseMonkey的作用是让我们浏览器运行我们自己写的脚本,而且是在后台一直不断的运行,听着就让人兴奋。
[ps:他们当然可以创建名单对哪些网站作用或者排除哪些站点];
开始了:GreaseMonkey 和tampermonkey的语法手册:
http://www.firefox.net.cn/dig/toc/
推荐看其中的教学实例:
http://www.firefox.net.cn/dig/appendix/examples.html
这两个浏览器下的扩展对应的语法相同,如果让你想象一下很多抽奖,点击获取积分,签到等等触发动作交给脚本自动化完成,我想说。这是程序猿必须的手段啊。
这是一段模拟点击某链接的自动化执行脚本
// ==UserScript==
// @name demo
// @namespace http://www.demo.com/
// @version 1.02
// @description example script to adit like nums on website demo
// @match http://*/*
// @copyright 2013+,logonmy@126.com
// ==/UserScript==
(function(){
var interval = 1;//1分钟间隔访问
//---------------
var latest = GM_getValue('latest');
if(!latest)
{
setNow();
}
main();
//---------------
function main()
{
var latest = GM_getValue('latest');
var now = new Date().getTime();
if((now-latest) > interval * 60 * 1000)
{
var i = 1;
while(i < 100)
{
i++;
touchUrl(random(1,10000));
}
setTimeout(main,interval * 60 * 1000);
}
else
{
setTimeout(main,now-latest);
}
}
function touchUrl(param)
{
setNow();
var ajaxOption = {};
ajaxOption.url = 'http://www.demo.com/index.php?app=goods&act=plusLike&goods_id='+param;
ajaxOption.method = 'GET';
ajaxOption.onload = function(response){
// console.log(response);
}
GM_xmlhttpRequest(ajaxOption);
}
//global value of time //微秒
function setNow()
{
var latest = new Date().getTime();
GM_setValue('latest',latest);
return latest;
}
//round(min,max) //生成[min,max]范围内随机数
function random(min,max)
{
return Math.floor(min+Math.random()*(max-min));
}
}());
火狐下的GreaseMonkey和Chrome下的tampermonkey使用手记的更多相关文章
- Chrome出了个小bug:论如何在Chrome下劫持原生只读对象
Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...
- 如何在Chrome下Debug Mocha的测试
简介 经过前两篇文章的介绍,相信读者对Mocha应该有一定的认知了,本文重点讲述如何在Chrome下Debug Mocha Test, 方便你在测试fail的时候troubleshooting. 关键 ...
- 在chrome下的文本框sendkeys,提示element can't focus--解决方法
在chrome下的文本框sendkeys,提示element can't focus--解决方法(成都-半步流雲,群友解决) 成都-半步流雲1.升级你的chromedriver,2.降chrome版本 ...
- chrome下input[type=text]的placeholder不垂直居中的问题解决
http://blog.csdn.net/do_it__/article/details/6789699 <input type="text" placeholder=&qu ...
- chrome下float元素下input选中内容bug
今天在写一个小demo的时候,发现chrome下一个很奇怪的bug. 我的代码如下: <!DOCTYPE html> <html lang="en"> &l ...
- IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案
在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: & ...
- chrome下老是弹出网页显示 true
事实上这个问题是chrome下安装了一些插件的原因,一般来说是安装迅雷插件会出现这个问题,删除迅雷插件就好了.
- Chrome下的语音控制框架MyVoix.js使用篇(四)
在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...
- 当fixed元素相互嵌套时chrome下父元素会影响子元素的层叠关系
问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. demo(http://jsbin.com/qumah/1): <!DOCTYPE ...
随机推荐
- MySQL-5.7 Insert语句详解
1.语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_ ...
- Saltstack sls文件:批量添加删除计划任务
一.使用sls文件 批量添加计划任务 1.创建salt目录 mkdir /srv/{salt,pillar} 2.再salt目录下创建文件 vim crontab.sls 3.添加内容 # 添加的命令 ...
- ES6 完全使用手册
前言 这里的 "ES6" 泛指 ES5 之后的新语法 这里的 "完全" 是指本文会不断更新 这里的 "使用" 是指本文会展示很多 ES6 的 ...
- wait() 与 notify/notifyAll()
wait() 与 notify/notifyAll() 是Object类的方法 1. wait() 与notify/notifyAll方法必须在同步代码块中使用 在执行以上方法时,要先获得锁.那么怎么 ...
- 批处理文件 bat 的入门命令
1. echo on和echo off echo on表示打开回显,echo off表示关闭回显,何为回显?打开回显就是执行命令时会把命令显示出来,关闭回显反之. 2.echo [message] 这 ...
- NOIP 马拦过河卒
描述 棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为“马拦过河卒”. 棋盘 ...
- Dangling Javadoc comment
Javadoc主要用于对类和方法的注释.Javadoc没有@file和@date的注解.Javadoc has no @file or @date tags. You should be taggin ...
- 如何理解Hibernate的延迟加载机制?在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?
延迟加载就是并不是在读取的时候就把数据加载进来,而是等到使用时再加载.Hibernate使用了虚拟代理机制实现延迟加载,我们使用Session的load()方法加载数据或者一对多关联映射在使用延迟加载 ...
- 求职之路共分享——亲身面试题(一) 1/三层与MVC区别
转自http://www.cnblogs.com/ndxsdhy/archive/2011/08/04/2127908.html 觉得这篇文章挺容易理解的, http://www.cnblogs.co ...
- css3 放大缩小代码
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...