情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)


Posted in Javascript onAugust 21, 2015

废话不多说了,先给大家展示下效果图:

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

总结,本篇是要介绍的一个刷星星(闪存里面的)的脚本,用于挂机刷星星。在七夕就是刷的玫瑰,所以绝不是标题党,就让我带大家一起刷星星吧!

一、 发送消息

看请求并自己模拟发送

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

$.post("http://ing.cnblogs.com/ajax/ing/Publish",   //地址
 JSON.stringify({ "content": content, "publicFlag": 1 }), //参数,json格式字符串
 function (result) {          //回调
  console.log("..............发送成功了,接下来判断是否有星星");
  result && result.IsSuccess && judgeStar(content)
 }, "json");            //返回的内容转成js对象

二、 判断刚刚发的消息是否有幸运闪

仍然是看图说话,照着做

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript) 

请求地址是:http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=30&Tag=&_=1440087133884

由命名可知(也确实如此),可以选择类型(我的,我回应,新回应,提到我,回复我,全站),第几页,每页数量。最后一个是时间戳。

我们模拟请求:

$.ajax({
   url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date),
   type: "get",
   dataType: "text",
   success: function (result) {
    //处理的逻辑<br>    //window.doc=$(result); //可以在控制台看看出来的是什么鬼
   }
  });

之所以用 dataType:"text" 是因为:

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

返回的是一段html代码,使用$(result)在控制台可以看到是分为3部分,我们需要找到刚刚发送的部分,并判断是否有幸运闪。我这里只选择获取前3条来判断,如果有3个人以上刚刚跟我一起刷闪存,那我就找不到啦...所以可以让每页多一点数量。

这是我找到并判断是否有星星的代码:

var feedDiv = $(result).eq(2);
    var msgSpan = feedDiv.find("span:contains('" + msg + "')");
    //这样找其实不严谨,尤其在大晚上的找的全是自己的...
    if (msgSpan.length > 0) {
     console.log("..............找到发送的闪存,开始判断");
    } else {
     console.log("..............未找到发送的闪存,可能脚本错误");
    }
    var id = msgSpan.attr("id").match(/body_(\d+)$/)[1];
    if (msgSpan.next("img.ing_icon_lucky").length > 0) {
     console.log("..............幸运闪 +1 【星星】");
    } else {
     //没找到星星,看来运气不好。那么就把刚刚那条删除吧!!!
    }

三、 删掉刚刚那个没有星星的“废”闪存

对于只要星星(玫瑰)的人来说,没用的就扔掉吧...

这个我也不发图了,直接上代码:

//删除闪存
function delMsg(id) {
 console.log("..............没有星星,删除该闪存,id为" + id);
 return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id }));
}

四、 总结

能否获取“星星”,真的跟脸有关,我6分钟刷一次,刷一下午一晚上才十几个。

现在是12点43,我很忐忑。我公司电脑挂这个脚本一直刷,我在家里看着没办法,不知道明天会不会小黑屋......明天早上早点去停了吧。

而且不知道是不是浏览器卡主了,偶尔有几个没有星星,它也没删掉...

以下是完整代码:

function memeda(input) {
 var times = 0;
 shuaXingXing(input);
 function shuaXingXing(content) {
  sendMsg(content);
  setInterval(function () {
   sendMsg(content);
  }, 1000 * 60 * 6 + 100);
 }
 //发送闪存消息
 function sendMsg(content) {
  console.log("....................................................................");
  times++;
  console.log("当前时间:" + new Date().toLocaleTimeString() + "  第" + times + "次发送闪存");
  console.log("..............发送闪存");
  return $.post("http://ing.cnblogs.com/ajax/ing/Publish", JSON.stringify({ "content": content, "publicFlag": 1 }), function () { }, "json")
   .done(function (result) {
    console.log("..............判断是否有星星");
    result && result.IsSuccess && judgeStar(content)
   });
 }
 //判断是否有星星
 function judgeStar(msg) {
  $.ajax({
   url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date),
   type: "get",
   dataType: "text",
   success: function (result) {
    var feedDiv = $(result).eq(2);
    var msgSpan = feedDiv.find("span:contains('" + msg + "')");
    if (msgSpan.length > 0) {
     console.log("..............找到发送的闪存,开始判断");
    } else {
     console.log("..............未找到发送的闪存,可能脚本错误");
    }
    var id = msgSpan.attr("id").match(/body_(\d+)$/)[1];
    if (msgSpan.next("img.ing_icon_lucky").length > 0) {
     console.log("..............幸运闪 +1 【星星】");
    } else {
     delMsg(id);
    }
   }
  });
 }
 //删除闪存
 function delMsg(id) {
  console.log("..............没有星星,删除该闪存,id为" + id);
  return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id }));
 }
}

以上就是本文情人节单身的我是如何在敲完代码之后收到12束玫瑰的,希望大家喜欢。

Javascript 相关文章推荐
基于jQuery图片平滑连续滚动插件
Apr 27 Javascript
JavaScript与DropDownList 区别分析
Jan 01 Javascript
jQuery setTimeout()函数使用方法
Apr 07 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
vue.js todolist实现代码
Oct 29 Javascript
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 Javascript
React配置子路由的实现
Jun 03 Javascript
jquery带翻页动画的电子杂志代码分享
Aug 21 #Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
Aug 21 #Javascript
纯javascript实现图片延时加载方法
Aug 21 #Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 #Javascript
js变形金刚文字特效代码分享
Aug 20 #Javascript
js限制文本框的输入内容代码分享(3类)
Aug 20 #Javascript
JS实现的通用表单验证插件完整实例
Aug 20 #Javascript
You might like
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[01:46]新英雄登场
2019/09/10 DOTA
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
50岁生日感言
2014/01/23 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
宣传普通话标语
2014/06/27 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书