情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的(javascript)
廢話不多說了,先給大家展示下效果圖:
總結(jié),本篇是要介紹的一個刷星星(閃存里面的)的腳本,用于掛機刷星星。在七夕就是刷的玫瑰,所以絕不是標(biāo)題黨,就讓我?guī)Т蠹乙黄鹚⑿切前桑?/p>
一、 發(fā)送消息
看請求并自己模擬發(fā)送
$.post("http://ing.cnblogs.com/ajax/ing/Publish", //地址 JSON.stringify({ "content": content, "publicFlag": 1 }), //參數(shù),json格式字符串 function (result) { //回調(diào) console.log("..............發(fā)送成功了,接下來判斷是否有星星"); result && result.IsSuccess && judgeStar(content) }, "json"); //返回的內(nèi)容轉(zhuǎn)成js對象
二、 判斷剛剛發(fā)的消息是否有幸運閃
仍然是看圖說話,照著做
由命名可知(也確實如此),可以選擇類型(我的,我回應(yīng),新回應(yīng),提到我,回復(fù)我,全站),第幾頁,每頁數(shù)量。最后一個是時間戳。
我們模擬請求:
$.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" 是因為:
返回的是一段html代碼,使用$(result)在控制臺可以看到是分為3部分,我們需要找到剛剛發(fā)送的部分,并判斷是否有幸運閃。我這里只選擇獲取前3條來判斷,如果有3個人以上剛剛跟我一起刷閃存,那我就找不到啦...所以可以讓每頁多一點數(shù)量。
這是我找到并判斷是否有星星的代碼:
var feedDiv = $(result).eq(2); var msgSpan = feedDiv.find("span:contains('" + msg + "')"); //這樣找其實不嚴(yán)謹(jǐn),尤其在大晚上的找的全是自己的... if (msgSpan.length > 0) { console.log("..............找到發(fā)送的閃存,開始判斷"); } else { console.log("..............未找到發(fā)送的閃存,可能腳本錯誤"); } var id = msgSpan.attr("id").match(/body_(\d+)$/)[1]; if (msgSpan.next("img.ing_icon_lucky").length > 0) { console.log("..............幸運閃 +1 【星星】"); } else { //沒找到星星,看來運氣不好。那么就把剛剛那條刪除吧?。。? }
三、 刪掉剛剛那個沒有星星的“廢”閃存
對于只要星星(玫瑰)的人來說,沒用的就扔掉吧...
這個我也不發(fā)圖了,直接上代碼:
//刪除閃存 function delMsg(id) { console.log("..............沒有星星,刪除該閃存,id為" + id); return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id })); }
四、 總結(jié)
能否獲取“星星”,真的跟臉有關(guān),我6分鐘刷一次,刷一下午一晚上才十幾個。
現(xiàn)在是12點43,我很忐忑。我公司電腦掛這個腳本一直刷,我在家里看著沒辦法,不知道明天會不會小黑屋......明天早上早點去停了吧。
而且不知道是不是瀏覽器卡主了,偶爾有幾個沒有星星,它也沒刪掉...
以下是完整代碼:
function memeda(input) { var times = 0; shuaXingXing(input); function shuaXingXing(content) { sendMsg(content); setInterval(function () { sendMsg(content); }, 1000 * 60 * 6 + 100); } //發(fā)送閃存消息 function sendMsg(content) { console.log("...................................................................."); times++; console.log("當(dāng)前時間:" + new Date().toLocaleTimeString() + " 第" + times + "次發(fā)送閃存"); console.log("..............發(fā)送閃存"); 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("..............找到發(fā)送的閃存,開始判斷"); } else { console.log("..............未找到發(fā)送的閃存,可能腳本錯誤"); } 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 })); } }
以上就是本文情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的,希望大家喜歡。
相關(guān)文章
js字符串的各種格式的轉(zhuǎn)換 ToString,F(xiàn)ormat
平時我們經(jīng)常會需要將字符轉(zhuǎn)換為各種不同的格式,例如錢:0元需要轉(zhuǎn)換為0.00顯示;需要轉(zhuǎn)換為16進制顯示的數(shù),這樣的例子有很多2011-08-08js prototype 格式化數(shù)字 By shawl.qiu
js prototype 格式化數(shù)字 By shawl.qiu...2007-04-04