// ==UserScript==
// @name Acfun评论标签
// @version 2.2
// @description 文章区评论楼层标签添加
// @match http*://www.acfun.cn/a/ac*
// @author 冲锋
// @require http://code.jquery.com/jquery-1.7.1.min.js
// @namespace https://greasyfork.org/users/63731
// @downloadURL https://update.greasyfork.icu/scripts/372370/Acfun%E8%AF%84%E8%AE%BA%E6%A0%87%E7%AD%BE.user.js
// @updateURL https://update.greasyfork.icu/scripts/372370/Acfun%E8%AF%84%E8%AE%BA%E6%A0%87%E7%AD%BE.meta.js
// ==/UserScript==
(function() {
'use strict';
console.log("ACFUN评论标签 启动");
var labelCss=$(`
`)
$("head").append(labelCss)
var labelWindow=$(`
人物ID
当输入框内容为空时,点击添加标签,则可以去除标签
`)
labelWindow.userId="0"
labelWindow.userName="0"
//关闭按钮点击
labelWindow.find(".btn-close").click(function(){
labelWindow.hide();
})
var userData={};
if(localStorage.getItem("userLabelData")!=null){
userData=JSON.parse(localStorage.getItem("userLabelData"));
}
//添加按钮点击
labelWindow.find(".btn-addlabel").click(function(e){
//旧的
/*
if(labelWindow.userId!="0")
{
userData[labelWindow.userId]=labelWindow.find(".labelInput").val().replace(/\s+/g,"");
if( userData[labelWindow.userId]==""){
delete userData[labelWindow.userId];
}
localStorage.setItem("userLabelData",JSON.stringify(userData));
upDataLabel();
labelWindow.hide();
}*/
if(labelWindow.userName!="0")
{
userData[labelWindow.userName]=labelWindow.find(".labelInput").val().replace(/\s+/g,"");
if( userData[labelWindow.userName]==""){
delete userData[labelWindow.userName];
}
localStorage.setItem("userLabelData",JSON.stringify(userData));
if($(".comment-list").length!=0){
upDataLabel(1);
}
else{ upDataLabel(2);}
labelWindow.hide();
}
})
//切换评论后刷新
$(".area-comm-title-right").live("click",function(){
refreashComm();
});
$(".comment-banner").find(".button").live("click",function(){
refreashComm();
});
//切换页面后刷新
$(".pager__btn").live("click",function(){
refreashComm();
});
//刷新评论区
refreashComm();
var flag=setInterval(function(){
//console.log("评论区刷新检测")
labelButtonAdd(1);
upDataLabel(1);
//if($("[class='comment-list'],[class='area-comment-top clearfix']").length!=0){
if($("[class='switch fc-button']").text()=="返回盖楼模式"){
// console.log("评论区标签刷新!")
labelButtonAdd(2);
upDataLabel(2);
// clearInterval(flag)
}
if($("[class='switch fc-button']").text()=="试用新版评论"){
// console.log("评论区标签刷新!")
labelButtonAdd(1);
upDataLabel(1);
// clearInterval(flag)
}
// }
},
500 )
function refreashComm(){
var flag=setInterval(function(){
if($("[class='comment-list'],[class='area-comment-top clearfix']").length!=0){
if($(".area-comm-title-right").find("a").next().text()=="返回盖楼模式"){
console.log("评论区标签刷新!")
labelButtonAdd(2);
upDataLabel(2);
clearInterval(flag)
}
if($(".comment-banner").find(".button.switch").text()=="试用新版评论"){
console.log("评论区标签刷新!")
labelButtonAdd(1);
upDataLabel(1);
clearInterval(flag)
}
}
},
200 )
}
//更新所有人物标签
function upDataLabel(type){
//回复遍历
/*
$("[class='author-comment top'],[class='area-comment-right']").each(function(index,e){
//判断回复者是否有标签
if(userData[$(e).find(".name").attr("data-uid")]!=null){
//判断是否已添加标签
if($(e).find(".nameLabel").length!=0){
$(e).find(".nameLabel").text(userData[$(e).find(".name").attr("data-uid")]);
}else{
var nameLabel=$("")
nameLabel.text(userData[$(e).find(".name").attr("data-uid")]);
$(e).find(".name").after(nameLabel)
}
}
else{
$(e).find(".nameLabel").remove()
}
//按钮文字修改
if($(e).find(".nameLabel").text()!=""){
$(e).next().next().find(".btn-addlabel2").text("修改标签");
}
else{
$(e).next().next().find(".btn-addlabel2").text("添加标签");
}
})*/
//旧的
if(type==1){
$(".fc-comment-item ").each(function(index,e){
if(userData[$(e).find(".name").text()]!=null){
//判断是否已添加标签
if($(e).find(".nameLabel").length!=0){
$(e).find(".nameLabel").text(userData[$(e).find(".name").text()]);
}else{
var nameLabel=$("")
nameLabel.text(userData[$(e).find(".name").text()]);
$(e).find(".name").after(nameLabel)
}
}
else{
$(e).find(".nameLabel").remove()
}
//按钮文字修改
if($(e).find(".nameLabel").text()!=""){
$(e).next().next().find(".btn-addlabel2").text("修改标签");
}
else{
$(e).next().next().find(".btn-addlabel2").text("添加标签");
}
})
}
else{
$(".area-comment-title ").each(function(index,e){
if(userData[$(e).find("a").text()]!=null){
//判断是否已添加标签
if($(e).find(".nameLabel").length!=0){
$(e).find(".nameLabel").text(userData[$(e).find("a").text()]);
}else{
var nameLabel=$("")
nameLabel.text(userData[$(e).find("a").text()]);
$(e).find("a").after(nameLabel)
}
}
else{
$(e).find(".nameLabel").remove()
}
//按钮文字修改
if($(e).find(".nameLabel").text()!=""){
$(e).next().next().find(".btn-addlabel3").text("修改标签");
}
else{
$(e).next().next().find(".btn-addlabel3").text("添加标签");
}
})
}
}
//为所有回复添加标签按钮
function labelButtonAdd(type){
/*
//回复遍历
$("[class='author-comment top'],[class='area-comment-right']").each(function(index,e){
if($(e).find(".btn-addlabel2").length==0){
//添加标签按钮添加
var label=$(`
添加标签
`)
label.addClass("btn-addlabel2")
$(e).next().next().find(".btn-quote").before(label)
//标签按钮点击
label.click(function(){
$(e).next().next().after(labelWindow)
labelWindow.show();
labelWindow.find(".labelInput").val("");
labelWindow.find(".labelUserId").text($(e).find(".name").text());
labelWindow.userId=$(e).find(".name").attr("data-uid")
})
}
})
*/
//以上为旧版
if(type==1){
//添加标签按钮添加
$(".fc-comment-item").each(function(index,e){
if($(e).find(".comment-item-footer").find(".btn-addlabel2").length==0){
var label=$(`
添加标签
`)
label.addClass("btn-addlabel2")
$(e).find(".comment-item-footer").find(".comment-toolbar").prepend(label)
//标签按钮点击
/* label.click(function(){
// $(e).after(labelWindow)
// console.log(labelWindow)
})*/
}
})
//标签按钮点击
$(".btn-addlabel2").on("click",function(){
var buttonBar= $(this).parents(".comment-item-footer");
$(this).parents(".comment-toolbar").after(labelWindow)
// console.log($(this).parents(".comment-item"))
labelWindow.show();
labelWindow.find(".labelInput").val("");
labelWindow.find(".labelUserId").text(buttonBar.prev().prev().find(".name").text());
labelWindow.userId=buttonBar.prev().prev().find(".name").attr("data-uid")
labelWindow.userName=buttonBar.prev().prev().find(".name").text();
// console.log( labelWindow.userName)
// labelWindow.find(".labelUserId").text($(e).find(".name").text());
// labelWindow.userId=$(e).find(".name").attr("data-uid")
});
}
else{
//添加标签按钮添加
$(".area-comment-tool").each(function(index,e){
if($(e).find(".btn-addlabel3").length==0){
var label=$(`
添加标签
`)
// label.addClass("btn-addlabel3")
$(e).find(".area-comment-reply").after(label)
}
})
//标签按钮点击
$(".btn-addlabel3").on("click",function(){
var buttonBar= $(this).parents(".area-comment-tool");
$(this).parents(".area-comment-tool").after(labelWindow)
// console.log($(this).parents(".comment-item"))
labelWindow.show();
labelWindow.find(".labelInput").val("");
labelWindow.find(".labelUserId").text(buttonBar.prev().prev().find(".name").text());
labelWindow.userName=buttonBar.prev().prev().find(".name").text();
// labelWindow.find(".labelUserId").text($(e).find(".name").text());
// labelWindow.userId=$(e).find(".name").attr("data-uid")
});
}
}
})();