前几天某些人一直来挑衅我!怎么办,当然不能忍!
多说有屏蔽某些用户的功能,但用在这里就有点过了,毕竟都还是「小朋友」,不能欺负的太过了,但也要让他们知道我的「厉害」!
怎么办呢,起初想着用 js 根据多说的用户 id 判断是不是某些人的评论,然后再做一下处理,很简单嘛:
(function($){
$('a[data-user-id="1000001"], a[data-user-id="7550406"]').each(function(i){
var parent = $(this).parent();
parent.next().hide().next().hide();
parent.parent().append('<p style="color: #999;">该用户已被关进小黑屋,内容不予显示。</p>')
});
})(jQuery)
咦。。。好像把重要的事情忘记了:劳资我不知道什么时候多说的评论会加载完成啊。。。那什么时候执行这些 js 代码?不管了,先加个简单的判断试试
(function($){
var bugaoxing = function () {
var intervalId = setInterval(function(){
console.log('checking');
if ($('#ds-reset').length > 0 ) {
clearInterval(intervalId);
$('a[data-user-id="1000001"], a[data-user-id="7550406"]').each(function(i){
var parent = $(this).parent();
parent.next().hide().next().hide();
parent.parent().append('<p style="color: #999;">该用户已被关进小黑屋,内容不予显示。</p>')
});
}
},100);
}
$(document).ready(function(){
bugaoxing();
});
})(jQuery)
不高兴!!!
在我看到 PJAX 加载动画的时候,我就预感不妙! PJAX 这东西就不说了,还是能解决的,但特么还有多说啊。。。多说加载评论换页用的是 AJAX,所以。。。这特么的太麻烦了,果断不行,换个思路吧。
看来还是得用 CSS 来解决。。。
看了下结构,发现还好,不是很难的样子,小兔崽子们「吃我一锤」
把 CSS 撸出来后面就简单了
div.ds-avatar[data-user-id="1000001"] + div.ds-comment-body > p, div.ds-avatar[data-user-id='7550406'] + div.ds-comment-body > div.ds-comment-footer{
display: none;
}
div.ds-avatar[data-user-id="1000001"] + div.ds-comment-body:after {
content: '该用户已被关进小黑屋,内容不予显示。';
font-size: 0.9375rem;
line-height: 42px;
color: #999;
}
#ds-thread #ds-reset a.ds-user-name[data-user-id="1000001"]:after {
content: "小黑屋白金会员";
margin-left: 6px;
font-size: 13px;
color: #FF743D;
border-radius: 4px;
padding: 0 0px;
display: inline-block;
margin: 0 5px;
font-weight: 900;
}
直接放代码吧:
var now = new Date();
var heiwuStyle = function(user_id) {
return 'div.ds-avatar[data-user-id="' + user_id + '"] + div.ds-comment-body > p, div.ds-avatar[data-user-id="' + user_id + '"] + div.ds-comment-body > div.ds-comment-footer{'
+ 'display: none}'
+ 'div.ds-avatar[data-user-id="' + user_id + '"] + div.ds-comment-body:after {'
+ 'content: "该用户已被关进小黑屋,内容不予显示。";font-size: 0.9375rem;line-height: 42px;color: #999}';
};
var vipStyle = function(user_id, vip_name, vip_color) {
vip_color = vip_color || '#FFBF3D';
return '#ds-thread #ds-reset a.ds-user-name[data-user-id="' + user_id + '"]:after {'
+ 'content: "' + vip_name + '";margin-left: 6px;font-size: 13px;color: ' + vip_color + ';border-radius: 4px;padding: 0 0px;display: inline-block;margin: 0 5px;font-weight: 900}';
};
var HEIWU = function(name, user_id, startDate, endDate) {
if (startDate == '' || startDate == null) {
startDate = false;
}
if (endDate == '' || endDate == null) {
endDate = false;
}
if ((!startDate || now >= new Date(startDate)) && (!endDate || now <= new Date(endDate))) {
STYLE(heiwuStyle(user_id));
}
};
var VIP = function(name, user_id, vip_name, vip_color) {
STYLE(vipStyle(user_id, vip_name, vip_color));
};
var TAOCAN = function(name, user_id, startDate, endDate, vip_name, vip_color, alwaysShowVip) {
alwaysShowVip = alwaysShowVip || false;
if (startDate == '' || startDate == null) {
startDate = false;
}
if (endDate == '' || endDate == null) {
endDate = false;
}
if ((!startDate || now >= new Date(startDate)) && (!endDate || now <= new Date(endDate))) {
STYLE(heiwuStyle(user_id) + vipStyle(user_id, vip_name, vip_color));
}else if (alwaysShowVip) {
STYLE(vipStyle(user_id, vip_name, vip_color));
}
};
用法:
// 黑屋
HEIWU("名称<备注>", 1000001, null, '2016-09-10 14:00:00');
// 称号
VIP("名称<备注>", 1000001, '小学生', null);
VIP("名称<备注>", '1000002', '小学生', '#1abc9c');
// 套餐, 最后一个参数指放出来后是否还继续给称号
TAOCAN("名称<备注>", 1000001, null, '2016-09-10 14:00:00', '小学生', '#1abc9c', true);
就这样,预览图。。。
<span style="font-family:Merriweather, \'Open Sans\', \'PingFang SC\', \'Hiragino Sans GB\', \'Microsoft Yahei\', \'WenQuanYi Micro Hei\', \'Segoe UI Emoji\', \'Segoe UI Symbol\', Helvetica, Arial, sans-serif;font-size:15px;line-height:22.5px;color:#999;background-color:#FFFFFF;">该用户已被关进小黑屋,内容不予显示。</span>
噫。。这个就更不像了
@(笑尿)这个就不怪我了!!!他没解析不怪我@(酸爽)
怪我咯\#(内伤)
该用户已被关进小黑屋,内容不予显示。
颜色不对@(阴险)
@(滑稽)漏掉了,你快打开HTML解析
不开\#(邪恶)
\#(惊喜)
@(滑稽)yio
看标题就知道是小学生发的帖子
看昵称就知道是小学生发的留言
你是熊???果然是基佬啊
黑人问号???