码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-29 14:44:21      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:chrome   jquery   html   脚本   

// ==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歌曲播放页面

标签:chrome   jquery   html   脚本   

原文地址:http://blog.csdn.net/king_xing/article/details/43269603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!