// ==UserScript==
// @name 新浪秀场刷屏
// @namespace https://greasyfork.org/scripts/4553-新浪秀场刷屏
// @description 在新浪秀场回复刷屏。
// @author softiger
// @version 1.0
// @include http://ok.sina.com.cn/9*
// @grant GM_addStyle
// @history 1.0 Initial release.
// @downloadURL https://update.greasyfork.icu/scripts/4553/%E6%96%B0%E6%B5%AA%E7%A7%80%E5%9C%BA%E5%88%B7%E5%B1%8F.user.js
// @updateURL https://update.greasyfork.icu/scripts/4553/%E6%96%B0%E6%B5%AA%E7%A7%80%E5%9C%BA%E5%88%B7%E5%B1%8F.meta.js
// ==/UserScript==
var msg = new Array();
msg[0] = "[b/23][b/2]";
msg[1] = "[b/20][b/18]";
msg[2] = "[b/48][b/27]";
msg[3] = "[b/46][b/47]";
msg[4] = "[b/18][b/18]";
var msg_i = 0;
var time_interval = 5000;
var time_out_default = "90";
var time_out = 0;
var started = false;
var myInterval;
var myTimeout;
var el_txtmsg = document.getElementById("txtmsg");
var el_btnsend = document.getElementById("btnsend");
function myTimer() {
el_txtmsg.value = msg[msg_i];
el_btnsend.click();
if (msg_i < msg.length-1)
msg_i++;
else {
msg_i = 0;
if (time_out > 0) {
myStopInterval();
myTimeout = setTimeout( function() {
myInterval = setInterval( function() {myTimer();}, time_interval);
}, time_out);
}
}
}
function myStopInterval() {
clearInterval(myInterval);
}
function myStopTimeout() {
clearTimeout(myTimeout);
}
/*--- Create a button in a container div. It will be styled and
positioned with CSS.
*/
var zNode = document.createElement("div");
zNode.innerHTML = '';
zNode.setAttribute("id", "myContainer");
document.body.appendChild(zNode);
//--- Activate the newly added button.
document.getElementById("myButton").addEventListener(
"click", ButtonClickAction, false
);
function ButtonClickAction(zEvent) {
var mymsg_1 = document.getElementById("mymsg_1").value;
var mymsg_2 = document.getElementById("mymsg_2").value;
var mymsg_3 = document.getElementById("mymsg_3").value;
var mymsg_4 = document.getElementById("mymsg_4").value;
if (mymsg_1 >= 0 && mymsg_1 <= msg.length)
msg[mymsg_1] = mymsg_2;
if(!msg[msg.length-1])
msg.length--;
if (mymsg_3 > 0 && mymsg_3 <= 3600)
time_interval = mymsg_3*1000;
if (mymsg_4 >= 0 && mymsg_4 <= 3600)
time_out = mymsg_4*1000;
if (!started) {
started = true;
myInterval = setInterval( function() {myTimer();}, time_interval);
var zNode = document.createElement("p");
zNode.innerHTML = "Started!";
document.getElementById("myContainer").appendChild(zNode);
}
else {
started = false;
myStopInterval();
if (time_out > 0)
myStopTimeout();
var zNode = document.createElement("p");
zNode.innerHTML = "Stopped!";
document.getElementById("myContainer").appendChild(zNode);
}
}
var zNode = document.createElement("div");
zNode.innerHTML = '';
zNode.setAttribute("id", "myText1");
document.body.appendChild(zNode);
var zNode = document.createElement("div");
zNode.innerHTML = '';
zNode.setAttribute("id", "myText2");
document.body.appendChild(zNode);
var zNode = document.createElement("div");
zNode.innerHTML = '';
zNode.setAttribute("id", "myText3");
document.body.appendChild(zNode);
var zNode = document.createElement("div");
zNode.innerHTML = '';
zNode.setAttribute("id", "myText4");
document.body.appendChild(zNode);
//--- Style our newly added elements using CSS.
GM_addStyle( multilineStr( function() { /*!
#myContainer {
position: absolute;
top: 0;
left: 0;
font-size: 20px;
background: orange;
padding: 1px 2px;
border: 3px outset silver;
margin: 5px;
opacity: 0.9;
z-index: 9999;
}
#myButton {
cursor: pointer;
}
#myContainer p {
position: absolute;
top: 2em;
left: 0;
color: red;
background: white;
}
#myText1 {
position: absolute;
top: 0;
left: 10em;
font-size: 20px;
background: red;
padding: 1px 2px;
border: 1px outset black;
margin: 1px;
opacity: 0.9;
z-index: 9999;
}
#myText2 {
position: absolute;
top: 2em;
left: 10em;
font-size: 20px;
background: green;
padding: 1px 2px;
border: 1px outset black;
margin: 1px;
opacity: 0.9;
z-index: 9999;
}
#myText3 {
position: absolute;
top: 4em;
left: 10em;
font-size: 20px;
background: blue;
padding: 1px 2px;
border: 1px outset black;
margin: 1px;
opacity: 0.9;
z-index: 9999;
}
#myText4 {
position: absolute;
top: 4em;
left: 0;
font-size: 20px;
background: gold;
padding: 1px 2px;
border: 1px outset black;
margin: 1px;
opacity: 0.9;
z-index: 9999;
}
*/ } ) );
function multilineStr(dummyFunc) {
var str = dummyFunc.toString();
str = str.replace(/^[^\/]+\/\*!?/, "") // Strip function() { /*!
.replace(/\s*\*\/\s*\}\s*$/, "") // Strip */ }
.replace(/\/\/.+$/gm, ""); // Double-slash comments wreck CSS. Strip them.
return str;
}