首页 > 代码库 > 92cc.com脚本:一键点赞;一键留言板或回复;群发私信;全站广告拦截;美化92cc.com歌曲播放页面

92cc.com脚本:一键点赞;一键留言板或回复;群发私信;全站广告拦截;美化92cc.com歌曲播放页面

// ==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 = http://www.mamicode.com/x.attr('src');>

92cc.com脚本:一键点赞;一键留言板或回复;群发私信;全站广告拦截;美化92cc.com歌曲播放页面