// ==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/')) { //添加按钮 }})();