forked from sssssssl/NP-scripts
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathding.js
65 lines (60 loc) · 2.24 KB
/
ding.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// ==UserScript==
// @name North-Plus Notification Plus
// @namespace https://github.com/sssssssl/NP-scripts
// @version 0.1
// @description 发帖时自动勾选新回复通知按钮,增强通知显示效果
// @author sl
// @match https://*.level-plus.net/*
// @match https://*.white-plus.net/*
// @match https://*.south-plus.net/*
// @match https://*.imoutolove.me/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const url = window.location.href;
const THREAD_PAT = /read\.php\?tid/;
const POST_PAT = /post\.php\?fid-*/;
const REPLY_PAT = /post\.php\?action-reply/;
const ID_NEW_RP = 'newrp';
const CLS_BLINK = 'blink';
const NEW_RP_STYLE = `
.${CLS_BLINK} {
display: inline-block; font-weight:bold;
color:#FF0000;
animation:blink 1s;
animation-iteration-count:infinite;
-webkit-animation: blink 1s;
-webkit-animation-iteration-count: infinite;
}
@keyframes blink {
0% { transform: rotate(0deg) scale(1, 1); }
25% { transform: rotate(15deg) scale(1.2, 1.2); }
50% { transform: rotate(-15deg) scale(1.2, 1.2); }
100% { transform: rotate(0deg) scale(1, 1); }
}
@-webkit-keyframes blink {
0% { transform: rotate(0deg) scale(1, 1); }
25% { transform: rotate(15deg) scale(1.2, 1.2); }
50% { transform: rotate(-15deg) scale(1.2, 1.2); }
100% { transform: rotate(0deg) scale(1, 1); }
}
`;
let tagNewRP = document.getElementById(ID_NEW_RP);
if(tagNewRP) {
let styleTag = document.createElement('style');
styleTag.textContent = NEW_RP_STYLE;
document.head.appendChild(styleTag);
tagNewRP.classList.add(CLS_BLINK);
tagNewRP.addEventListener('click', (e) => {
tagNewRP.classList.remove(CLS_BLINK);
});
}
if(POST_PAT.test(url) || REPLY_PAT.test(url)) {
const postOptions = document.getElementById('post-option');
if(postOptions) {
const box = document.querySelector('input[name=atc_newrp]');
box.setAttribute('checked', 'checked');
}
}
})();