说明: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使用手记的更多相关文章

  1. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  2. 如何在Chrome下Debug Mocha的测试

    简介 经过前两篇文章的介绍,相信读者对Mocha应该有一定的认知了,本文重点讲述如何在Chrome下Debug Mocha Test, 方便你在测试fail的时候troubleshooting. 关键 ...

  3. 在chrome下的文本框sendkeys,提示element can't focus--解决方法

    在chrome下的文本框sendkeys,提示element can't focus--解决方法(成都-半步流雲,群友解决) 成都-半步流雲1.升级你的chromedriver,2.降chrome版本 ...

  4. chrome下input[type=text]的placeholder不垂直居中的问题解决

    http://blog.csdn.net/do_it__/article/details/6789699 <input type="text" placeholder=&qu ...

  5. chrome下float元素下input选中内容bug

    今天在写一个小demo的时候,发现chrome下一个很奇怪的bug. 我的代码如下: <!DOCTYPE html> <html lang="en"> &l ...

  6. IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案

    在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: & ...

  7. chrome下老是弹出网页显示 true

    事实上这个问题是chrome下安装了一些插件的原因,一般来说是安装迅雷插件会出现这个问题,删除迅雷插件就好了.

  8. Chrome下的语音控制框架MyVoix.js使用篇(四)

    在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...

  9. 当fixed元素相互嵌套时chrome下父元素会影响子元素的层叠关系

    问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. demo(http://jsbin.com/qumah/1): <!DOCTYPE ...

随机推荐

  1. MySQL-5.7 Insert语句详解

    1.语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_ ...

  2. Saltstack sls文件:批量添加删除计划任务

    一.使用sls文件 批量添加计划任务 1.创建salt目录 mkdir /srv/{salt,pillar} 2.再salt目录下创建文件 vim crontab.sls 3.添加内容 # 添加的命令 ...

  3. ES6 完全使用手册

    前言 这里的 "ES6" 泛指 ES5 之后的新语法 这里的 "完全" 是指本文会不断更新 这里的 "使用" 是指本文会展示很多 ES6 的 ...

  4. wait() 与 notify/notifyAll()

    wait() 与 notify/notifyAll() 是Object类的方法 1. wait() 与notify/notifyAll方法必须在同步代码块中使用 在执行以上方法时,要先获得锁.那么怎么 ...

  5. 批处理文件 bat 的入门命令

    1. echo on和echo off echo on表示打开回显,echo off表示关闭回显,何为回显?打开回显就是执行命令时会把命令显示出来,关闭回显反之. 2.echo [message] 这 ...

  6. NOIP 马拦过河卒

    描述 棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为“马拦过河卒”. 棋盘 ...

  7. Dangling Javadoc comment

    Javadoc主要用于对类和方法的注释.Javadoc没有@file和@date的注解.Javadoc has no @file or @date tags. You should be taggin ...

  8. 如何理解Hibernate的延迟加载机制?在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?

    延迟加载就是并不是在读取的时候就把数据加载进来,而是等到使用时再加载.Hibernate使用了虚拟代理机制实现延迟加载,我们使用Session的load()方法加载数据或者一对多关联映射在使用延迟加载 ...

  9. 求职之路共分享——亲身面试题(一) 1/三层与MVC区别

    转自http://www.cnblogs.com/ndxsdhy/archive/2011/08/04/2127908.html 觉得这篇文章挺容易理解的, http://www.cnblogs.co ...

  10. css3 放大缩小代码

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...