V2EX增强插件

1.回复标记楼主 2.每天打开V2EX网站任意页面时自动领取签到的登陆奖励

目前为 2015-10-16 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name V2EX增强插件
  3. // @description 1.回复标记楼主 2.每天打开V2EX网站任意页面时自动领取签到的登陆奖励
  4. // @icon http://ww1.sinaimg.cn/large/4ec98f50jw1e85azvlnh9j206y06y3ye.jpg
  5. // @author me
  6. // @include http*://*.v2ex.com/*
  7. // @include http*://v2ex.com/*
  8. // @version 2015.10.16
  9. // @grant none
  10. // @namespace http://userscripts.org/scripts/show/176989
  11. // ==/UserScript==
  12.  
  13. //签到
  14. var load, execute, loadAndExecute;
  15. load = function(a, b, c) {
  16. var d;
  17. d = document.createElement("script"), d.setAttribute("src", a), b != null && d.addEventListener("load", b), c != null && d.addEventListener("error", c), document.body.appendChild(d);
  18. return d
  19. }, execute = function(a) {
  20. var b, c;
  21. typeof a == "function" ? b = "(" + a + ")();" : b = a, c = document.createElement("script"), c.textContent = b, document.body.appendChild(c);
  22. return c
  23. }, loadAndExecute = function(a, b) {
  24. return load(a, function() {
  25. return execute(b)
  26. })
  27. };
  28. loadAndExecute("//lib.sinaapp.com/js/jquery/2.0/jquery.min.js", function() {
  29. if ( document.getElementById("money") && document.getElementById("money").getElementsByTagName("a")[0].href.indexOf("/balance") != -1 && document.body.innerHTML.indexOf(";<\/span> 创建新回复<\/div>") == -1 ) {
  30. var uid=document.getElementById("Rightbar").getElementsByTagName("a")[0].href.split("/member/")[1];//用户名
  31. var dd = new Date(); dd.setDate(dd.getDate()+3);var dateexp = dd.toGMTString(); //cookie过期时间
  32. var dateinfo=new Date().getUTCDate();//获得GMT时间今天几号
  33. var cookiestr="IDINFO=:" + uid + ":" + dateinfo + ":";
  34. var daily = $('input[id="q"]');
  35. if ( document.cookie.split("IDINFO=").length>2 && location.href.split("/").length>4 ) document.cookie = "IDINFO" + "=;expires=" + new Date().toGMTString(); //清理非/的cookie
  36. if (daily.length && document.cookie.indexOf(cookiestr) == -1 ) {
  37. $.ajax({url:"/"})
  38. daily.val("正在检测每日签到状态...");
  39. $.ajax({
  40. url: "/mission/daily",
  41. success: function(data) {
  42. var awards = $(data).find('input[value^="领取"]');
  43. if (awards.length) {
  44. // daily.val("正在" + awards.attr("value") + "...");
  45. daily.val("正在领取今日的登录奖励......");
  46. $.ajax({
  47. url: awards.attr('onclick').match(/(?=\/).+?(?=\')/),
  48. success: function(data) {
  49. daily.val("正在提交...");
  50. var days=data.split("已连续登")[1].split(" ")[1];
  51. if ( $('a[href="/mission/daily"]').length==1 ) {$('a[href="/mission/daily"]').parent().parent().fadeOut(3000)}
  52. $.ajax({
  53. url: "/balance",
  54. success: function(data) {
  55. function p(s) {return s < 10 ? '0' + s: s;} //自动补0
  56. var date2="" + new Date().getUTCFullYear() + p(new Date().getUTCMonth()+1) +p(new Date().getUTCDate())
  57. if (data.indexOf(date2+" 的每日登录奖励")!="-1") {
  58. daily.val( "已连续领取" + days + "天,本次领到" + data.split("每日登录")[2].split(" ")[1] + "铜币" );
  59. document.cookie = cookiestr + ";expires=" + dateexp + ";path=/;";
  60. } else {
  61. daily.val( "自动领取遇到意外,你可以试试手动领。" );
  62. }
  63. }
  64. })
  65. },
  66. error: function() {
  67. daily.val("网络异常 :(");
  68. }
  69. });
  70. }else{
  71. if (data.indexOf("已领取") != -1) {
  72. daily.val("今日奖励领取过了");
  73. document.cookie = cookiestr + ";expires=" + dateexp + ";path=/;";
  74. } else {
  75. daily.val("无法辩识领奖按钮 :(");
  76. }
  77. }
  78. },
  79. error: function() {
  80. daily.val("请手动领取今日的登录奖励!");
  81. }
  82. });
  83. } else {
  84. //console.log("");
  85. }
  86. }
  87. });
  88.  
  89. //标记楼主
  90. if (location.href.indexOf(".com/t/") != -1) {
  91. var lzname=document.getElementById("Main").getElementsByClassName("avatar")[0].parentNode.href.split("/member/")[1]
  92. all_elem = document.getElementsByClassName("dark")
  93. for(var i=0; i<all_elem.length; i++) {
  94. if (all_elem[i].innerHTML == lzname){
  95. all_elem[i].innerHTML += " <font color=green>[楼主]</font>"
  96. }
  97. }
  98. }