A script to make a surprise for Valentine's Day
// ==UserScript== // @name Valentine's Day // @name:zh-CN 情人节惊喜 // @name:zh-TW 情人節驚喜 // @namespace hoothin // @version 0.1 // @description A script to make a surprise for Valentine's Day // @description:zh-CN 伪装成百度新闻的情人节惊喜 // @description:zh-TW 僞裝成百度新聞的情人節驚喜 // @author hoothin // @license MIT License // @include *://www.baidu.com/ // @include *://www.baidu.com/home* // @include *://www.baidu.com/?tn=* // @include *://www.baidu.com/index.php* // @include *://www.baidu.com/s?wd=Valentine* // @grant GM_openInTab // ==/UserScript== (function() { 'use strict'; var valentinName = "小青"; //情人名字 var myName = "许仙"; //自己名字 var time = "2007 1 29"; //恋#纪念日 var valentineWords = "小青:颜值对我来说不是问题"; //新闻标题 var valentinePhotoUrl = "http://n1.itc.cn/img8/wb/smccloud/fetch/2015/03/06/194736305359888206.GIF"; //新闻图链接 var date=new Date(); var dateDay=date.getDate(),dateMonth=date.getMonth()+1; if(dateDay!=14||dateMonth!=2)return; if(/wd=Valentine/.test(location.href)){ var dayArr=time.split(" "); var html=` <!DOCTYPE HTML> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Our Love Story</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link href="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/css/default.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/jquery.js"></script> <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/garden.js"></script> <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/functions.js"></script> </head> <body> <div id="mainDiv"> <div id="content"> <div id="loveHeart"> <canvas id="garden"></canvas> <div id="words"> <div id="messages"> ${valentinName}, I have fallen in love with you for <div id="elapseClock"></div> </div> <div id="loveu"> Love u forever and ever.<br/> <div class="signature">- ${myName}</div> </div> </div> </div> </div> </div> <script type="text/javascript"> var offsetX = $("#loveHeart").width() / 2; var offsetY = $("#loveHeart").height() / 2 - 55; var together = new Date(); together.setFullYear(${dayArr[0]}, ${dayArr[1]}, ${dayArr[2]}); together.setHours(20); together.setMinutes(0); together.setSeconds(0); together.setMilliseconds(0); if (!document.createElement('canvas').getContext) { var msg = document.createElement("div"); msg.id = "errorMsg"; msg.innerHTML = "Your browser doesn't support HTML5!<br/>Recommend use Chrome 14+/IE 9+/Firefox 7+/Safari 4+"; document.body.appendChild(msg); document.execCommand("stop"); } else { startHeartAnimation(); timeElapse(together); setInterval(function () { timeElapse(together); }, 500); } </script> </body> </html>`; GM_openInTab('data:text/html;charset=utf-8,' + encodeURIComponent(html),false); }else{ var listWrapper=document.querySelector(".s-news-list-wrapper"); if(listWrapper){ var valentineItem=document.createElement("div"); valentineItem.className="s-news-special s-news-item s-news-special-item-tpl-2 s-opacity-blank8"; valentineItem.innerHTML=`<div class="s-pic-content"><div class="s-pic-content-own"> <ul class="s-news-content-imgs clearfix"> <li class="item-img-wrap"> <a href="https://www.baidu.com/s?wd=Valentine" target="_blank" title="${valentineWords}"> <img class="s-news-img" src="${valentinePhotoUrl}" height="119" width="179"> </a> </li></ul></div></div> <div class="s-block-container"> <div class="s-block-container-own"> <div class="s-text-content"> <h2><a href="https://www.baidu.com/s?wd=Valentine" title="${valentineWords}" target="_blank" class="s-title-yahei">${valentineWords}</a><a href="javascript:;" class="del"></a></h2> </div> <div class="from"> <span class="src-net"> <a href="http://ent.#####daily.com.cn" target="_blank" data-src="1" data-click="LOG_LINK"> ##日报网 </a> </span> <span class="src-time">02-11 15:58</span> <div class="dustbin" data-click="LOG_BTN_DUSTBIN"></div></div> </div> </div>`; listWrapper.insertBefore(valentineItem,listWrapper.firstChild); } } })();