说明: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. 扯一扯 C#委托和事件?策略模式?接口回调?

    早前学习委托的时候,写过一点东西,今天带着新的思考和认知,再记点东西.这篇文章扯到设计模式中的策略模式,观察者模式,还有.NET的特性之一--委托.真的,请相信我,我只是在扯淡...... 场景练习 ...

  2. ActionScript和js交互

    新建的ActionScript项目,默认新建会在“默认包”中创建一个和项目名称相同以as结尾的文件,as项目开始执行时要new一个这样的类在类上方加入一些参数可以为生成的swf初始化一些样式 [SWF ...

  3. EasyUI:datagrid数据汇总

    EasyUI:datagrid数据汇总 js代码: var total=0;//全局变量 $(function(){ $('#tablebudgetdata').datagrid({ title:' ...

  4. jQuery垂直滑动切换焦点图

    在线演示 本地下载

  5. vi使用技巧(转载)

    http://www.cnblogs.com/xusir/p/3245007.html 这是转载的链接

  6. CODE FESTIVAL 2015 決勝(部分)

    CODE FESTIVAL 2015 決勝(部分) B - ダイスゲーム 题意: 给\(N\)个\(6\)个面骰子,然后问掷到概率最大的点数是多少. 分析: 随便打表随便发现是\(\huge\left ...

  7. 初入spring boot(五 )websocket

    一.广播式 广播式即服务端有消息时,会将消息发送给所有连接了当前endpoint的浏览器 1.配置websocket,需要在配置类上使用@EnableWebSocketMessageBroker开启w ...

  8. SQL时间戳日期时间转换

    将时间戳转换为日期格式:比如降1455504268→2016-02-15 10:44:28 select device.register_time a,FROM_UNIXTIME(device.reg ...

  9. javascript页面打印

    打印本身比较简单,但要考虑到具体的需求.比如 1. 多浏览器: if (isIE()) { //打印预览 WebBrowser1.execWB(7, 1); } else { window.print ...

  10. MySQL配置管理与安装方法

    数据库的安装: 版本:SQL2008 R2(下载地址为:http://www.accessoft.com/article-show.asp?id=11192) 这里说明一下: NT Authority ...