1+ // ==UserScript==
2+ // @name Valentine's Day
3+ // @name :zh-CN 情人节惊喜
4+ // @name :zh-TW 情人節驚喜
5+ // @namespace hoothin
6+ // @version 0.1
7+ // @description A script to make a surprise for Valentine's Day
8+ // @description :zh-CN 伪装成百度新闻的情人节惊喜
9+ // @description :zh-TW 僞裝成百度新聞的情人節驚喜
10+ // @author hoothin
11+ // @license MIT License
12+ // @include *://www.baidu.com/
13+ // @include *://www.baidu.com/home*
14+ // @include *://www.baidu.com/?tn=*
15+ // @include *://www.baidu.com/index.php*
16+ // @include *://www.baidu.com/s?wd=Valentine*
17+ // @grant GM_openInTab
18+ // ==/UserScript==
19+
20+ ( function ( ) {
21+ 'use strict' ;
22+ var valentinePhotoUrl = "https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=58952482,3191586726&fm=80&w=179&h=119&img.JPG" ; //新闻图链接
23+ var valentineWords = "AAA:颜值对我来说不是问题" ; //新闻标题
24+ var valentinName = "AAA" ; //情人名字
25+ var myName = "BBB" ; //自己名字
26+ var time = "2007 1 12" ; //纪念日
27+
28+ var date = new Date ( ) ;
29+ var dateDay = date . getDate ( ) , dateMonth = date . getMonth ( ) + 1 ;
30+ if ( dateDay != 14 || dateMonth != 2 ) return ;
31+ if ( / w d = V a l e n t i n e / . test ( location . href ) ) {
32+ var dayArr = time . split ( " " ) ;
33+ var html = `
34+ <!DOCTYPE HTML>
35+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
36+ <head>
37+ <title>Our Love Story</title>
38+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
39+ <link href="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/css/default.css" type="text/css" rel="stylesheet">
40+ <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/jquery.js"></script>
41+ <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/garden.js"></script>
42+ <script type="text/javascript" src="https://cdn.rawgit.com/hoothin/UserScripts/master/Valentine's%20Day/js/functions.js"></script>
43+ </head>
44+ <body>
45+ <div id="mainDiv">
46+ <div id="content">
47+ <div id="loveHeart">
48+ <canvas id="garden"></canvas>
49+ <div id="words">
50+ <div id="messages">
51+ ${ valentinName } , I have fallen in love with you for
52+ <div id="elapseClock"></div>
53+ </div>
54+ <div id="loveu">
55+ Love u forever and ever.<br/>
56+ <div class="signature">- ${ myName } </div>
57+ </div>
58+ </div>
59+ </div>
60+ </div>
61+ </div>
62+ <script type="text/javascript">
63+ var offsetX = $("#loveHeart").width() / 2;
64+ var offsetY = $("#loveHeart").height() / 2 - 55;
65+ var together = new Date();
66+ together.setFullYear(${ dayArr [ 0 ] } , ${ dayArr [ 1 ] } , ${ dayArr [ 2 ] } );
67+ together.setHours(20);
68+ together.setMinutes(0);
69+ together.setSeconds(0);
70+ together.setMilliseconds(0);
71+ if (!document.createElement('canvas').getContext) {
72+ var msg = document.createElement("div");
73+ msg.id = "errorMsg";
74+ msg.innerHTML = "Your browser doesn't support HTML5!<br/>Recommend use Chrome 14+/IE 9+/Firefox 7+/Safari 4+";
75+ document.body.appendChild(msg);
76+ document.execCommand("stop");
77+ } else {
78+ startHeartAnimation();
79+ timeElapse(together);
80+ setInterval(function () {
81+ timeElapse(together);
82+ }, 500);
83+ }
84+ </script>
85+ </body>
86+ </html>` ;
87+ GM_openInTab ( 'data:text/html;charset=utf-8,' + encodeURIComponent ( html ) , false ) ;
88+ } else {
89+ var listWrapper = document . querySelector ( ".s-news-list-wrapper" ) ;
90+ if ( listWrapper ) {
91+ var valentineItem = document . createElement ( "div" ) ;
92+ valentineItem . className = "s-news-special s-news-item s-news-special-item-tpl-2 s-opacity-blank8" ;
93+ 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.chinadaily.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>` ;
94+ listWrapper . insertBefore ( valentineItem , listWrapper . firstChild ) ;
95+ }
96+ }
97+ } ) ( ) ;
0 commit comments