// ==UserScript==
// @name 92cc.com重排版
// @namespace gsf@92cc.com
// @author xinggsf~gmail。com
// @description 一键点赞;一键留言板或回复;群发私信;全站广告拦截;美化92cc.com歌曲播放页面
// @description:en Set css sytle on 92cc.com site
// @license GPL version 3
// @include http://*.92cc.com/*
// @homepageURL https://greasyfork.org/scripts/6562
// @updateURL https://greasyfork.org/scripts/6562/code/92cccom.user.js
// @downloadURL https://greasyfork.org/scripts/6562/code/92cccom.user.js
// @version 0.2.23
// @encoding utf-8
// @modified 01/28/2015
// @run-at document-body
// @grant none
// ==/UserScript==
window._92cc_Utils = {
jsAddrinfo: '嗨友必备眩酷神器\n??https://greasyfork.org/zh-CN/scripts/6562\n',
frCount: 0,
failGetList: false,
frList: [],
callBack: null,//响应事件
iTimer: null,
infoIndex: 0,
info:'',
page: 1,
pTimer: null,
praiseIndex: 0,//轮询计数
getInput: function (aTitle) {
var res = '',
x = '<div class="msg_dialog_send"><div class="title"></div><div class="main"><div class="message"><div id="fnote" contenteditable="true" class="send" name="fnote"></div></div><div id="emot_fnote" class="emot" to="fnote"></div></div></div><script type="text/javascript">setTimeout(null,99);$("#fnote").emotEditor({emot:true, newLine:true});</script>';
$.dialog({
id:'sendMsg', title: aTitle,
width:'360px', lock:true, content: x, okValue: '确认',
ok: function() {
var s, $fnote = $("#fnote");
s = $.trim($fnote.emotEditor("content"));
s = (s=="")? '请输入内容' :
(s.length > 470)? '您写多了!' : '';
if (s==='') {
res = $.trim($fnote.emotEditor("content"));
return true;
}
$.tipMessage(s, 1, 1000);
$fnote.focus();
return false;
},
cancelValue: '取消',
cancel:function() {}
});
return res;
},
//解析HTML
parseHtml: function(resp) {
var s, me = _92cc_Utils;
me.failGetList = false;
if (0 === me.frCount) {
s = resp.match(/<em title=\"总数量\" ?>(\d+)<\/em>/);
if (null === s) {
me.failGetList = true;
$.tipMessage('网络错误或解析失败!', 2, 3000);
return;
}
me.frCount = 0 | s[1];
//console.log(me.frCount);
if (0 === me.frCount) {
me.failGetList = true;
$.tipMessage('你没有加关注的朋友!', 2, 3000);
return;
}
}
s = resp.match(/\d+(?=\/" +?class="user_card">)/g);
//s = resp.split(/uid="(\d+)"/);
//if (0 === s.length)
if (!s) {
me.failGetList = true;
$.tipMessage('网络错误或解析失败!', 2, 3000);
return;
}
//console.log(s.length);
if (me.frList.length === 0)
me.frList = s;
else
s.push.apply(me.frList, s);
if (me.callBack) {
//me.callBack();
me.callBack = null;
}
if (me.frCount > me.frList.length) {
me.page += 1;
setTimeout('_92cc_Utils.getFriendList();', 1222);
}
},
getFriendList: function () {
if (this.frCount === 0 || this.frCount > this.frList.length) {
var s = (this.page === 1) ? "/relation?a=following" :
"/relation?a=following&currPage=" + this.page;
this.failGetList = false;
$.get(s, this.parseHtml, "html");
}
},
doPraise: function() {
var me = _92cc_Utils;
if (me.callBack) return;
if (me.frCount === me.praiseIndex ||
(me.failGetList && me.frList.length === me.praiseIndex)) {
clearInterval(me.pTimer);
me.pTimer = null;
$.tipMessage('已点赞了你所有的朋友!共 '+
me.praiseIndex + ' 个!', 0, 3000);
return;
}
if (0 === me.frList.length || me.frList.length === me.praiseIndex)
return;//等待数据
$.post("/user?a=doUserPraiseUpdate&uid="+ me.frList[me.praiseIndex]);
me.praiseIndex++;
},
praiseAllFriend: function() {
if (this.pTimer) {
$.tipMessage('今天已点赞!', 1, 3000);
return;
}
this.praiseIndex = 0;
this.getFriendList();
this.callBack = this.frCount === 0;
this.pTimer = setInterval(_92cc_Utils.doPraise, 100);
$.tipMessage('正在点赞!请稍候......', 0, 3000);
},
doSendInfo: function() {
var me = _92cc_Utils;
if (me.callBack) return;
if (me.frCount === me.infoIndex ||
(me.failGetList && me.frList.length === me.infoIndex))
{
clearInterval(me.iTimer);
me.iTimer = null;
$.tipMessage(me.infoIndex + ' 条私信已全部发出!', 0, 3000);
return;
}
if (0 === me.frList.length ||
me.frList.length === me.infoIndex)
return;//等待数据
$.post("/message?a=doMsgAdd",
{"uid": me.frList[me.infoIndex], "note": me.info},
"text"
);
me.infoIndex++;
},
sendAllInfo: function() {
if (this.iTimer) {
$.tipMessage('还有私信正在发送,请稍候......', 1, 3000);
return;
}
var s = this.getInput('请输入对所有朋友发送的私信');
if (s === '') return;
this.info = this.jsAddrinfo + s;
this.infoIndex = 0;
this.callBack = this.frCount === 0;
this.getFriendList();
//if (this.failGetList) return;
this.iTimer = setInterval(_92cc_Utils.doSendInfo, 200);
$.tipMessage('正在发送私信!请稍候......', 0, 3000);
},
init: function() {
this.getFriendList();
},
unInit: function() {
// for (let i in this.timers) {
// clearInterval(this.timers[i]);
// }
}
};
(function () {
var s, x, addr;
//要删除的元素列表,填入css选择器
s = ['script[src^="http://cbjs.baidu.com/"]',
'script[src^="http://cb.baidu.com/"]',
'script[src*=".baidustatic.com/"]',
'script[src*=".cnzz.com/"]',
'[id^="BAIDU_"]',
'#mp_banner_top',
'.player > h1',
'.logo',
'.header+.play_content',
'.banner_text'];
//用原生API querySelectorAll加快速度
addr = s.forEach;
s.forEach(function (o) {
x = document.querySelectorAll(o);
if (x.length > 0)
addr.call(x, function (e) {
e.parentNode.removeChild(e);
});
});
s = null;
x = $('script[src*="/new/recommend/player"]');
if (x.length > 0) {
var src = x.attr('src');
//console.log(src);
//删除低效的内容生成JS,和可能已经生成的内容
s = x.parent().empty();
x = null;
$.get(src, function (res) {
var t = res.replace(/document\.writeln\("(.+?)"\);/g, '$1')
//删除多加在双引号前的斜线号
.replace(/\\"/g, '\"');
//console.log(t);
s.html(t); //替换内容生成JS
s = null;
//重新绑定事件
mPlayer.addList();
mPlayer.selectDanceAll();
}, 'text');
}
addr = document.URL.toLowerCase();
if (/^http:\/\/www\.92cc\.com\/p\d+\.html/.test(addr)) {
x = $(".play_content > .right_bot");
$(".play_content > .right").replaceWith(x);
x.css({
'right' : '0',
'float' : 'right'
});
x.children(':gt(0)').css('margin-top', '-12px');
x = null;
$(".header").css('height', '55px');
$(".content").css('top', '-15px');
$(".play_content").css('top', '-9px');
//删除div.banner内的广告;并用链式语法设定高度
$(".banner").empty().css('height', '3px');
}
//会员功能
else if (document.userInfo && 0 === addr
.indexOf('http://i.92cc.com/')) {
//添加按钮
}
})();92cc.com脚本:一键点赞;一键留言板或回复;群发私信;全站广告拦截;美化92cc.com歌曲播放页面
原文地址:http://blog.csdn.net/king_xing/article/details/43269603