Acfun评论标签

文章区评论楼层标签添加

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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
// ==/UserScript==

(function() {
    'use strict';
console.log("ACFUN评论标签 启动");
    var labelCss=$(`
<style type="text/css">
.labelBg {width:373px;

background-color:#fff;
position:relative;
padding:8px 20px !important;
border: 1px solid #d4d4d4;
margin:auto auto !important;
margin-top:10px !important;
}
.win-hint-ensure {


margin: 0 !important;
font-size: large;
}
.btn-close {
position: absolute;
right: 15px;
top: 8px;
cursor: pointer;
}
.labelP1 {
padding:0 8px !important;
height: 28px;
line-height: 28px;
text-align: center;
background: #eee;
border-radius: 3px;
display:inline-block;
font-size:14px;
font-color:#999;
}
.labelInput{
width:180px;
height:24px;
display:inline-block;
border: 1px solid rgb(212,212,212);
border-radius: 3px;
}
.btn-addlabel{
background: #fd4c5c;
border: 1px solid #fd4c5c;
border-radius: 3px;
height: 28px;
color: #fff;
padding: 0 8px !important;
cursor: pointer;
display:inline-block;
margin-left:0px  !important;
}
.btn-addlabel:hover{
background-color:rgb(255,53,7);
}
.labelMain{
margin:auto auto !important;
}
.nameLabel{
/*  color:rgb(240,20,20);*/
/*  margin-left:10px;*/
padding-left:5px !important;
padding-right:5px !important;
color:#fff !important;

height: 22px;
font-size: 12px;
line-height: 22px;
background-color: #4a8eff;
text-align: center;
border-radius: 4px;
color: #fff;
margin-left:10px !important;
display:inline-block;

}
.btn-addlabel2 {

font-size: 12px !important;
color: #999 !important;
}
.btn-addlabel3 {

font-size: 12px !important;
color: #999 !important;
}
.tips{
margin: 10px 0px  !important;
color: #999;
}
.labelUserId{
color:#333;
margin-bottom:10px  !important;
}


</style>
`)
    $("head").append(labelCss)
    var labelWindow=$(`
<div class="labelBg" >
<span class="btn-close">
<i class="icon icon-close"></i>
</span>
<div class="labelMain">
<span class="win-hint-ensure labelUserId">人物ID</span>
<div>
<p class="labelP1">输入标签</p>
<input class="labelInput"></input>
<button class="btn-addlabel">添加标签</button>
</div>
<p class="tips">当输入框内容为空时,点击添加标签,则可以去除标签</p>
</div>

</div>
`)
    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=$("<a class='nameLabel'></a>")
                    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=$("<a class='nameLabel'></a>")
                        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=$("<span class='nameLabel'></span>")
                        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=$(`
<a>添加标签</a>
`)
                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=$(`
<a>添加标签</a>
`)
                    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=$(`
<svg class="svgIcon"
 xmlns="http://www.w3.org/2000/svg"
 xmlns:xlink="http://www.w3.org/1999/xlink"
 width="13px" height="13px">
<image  x="0px" y="0px" width="13px" height="13px"  xlink:href="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAQAAADY4iz3AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfjAQoPIR3qHDRfAAAAwElEQVQY023LMUoDURQF0DMTkIggCDGIugWxEAvjEsZUoriCryCCS3AXZn6WIVPZWCkiQmxS2ImkMZYWgkVSOBkV51bvcu5L8gvnmj594dlReFUmdWjkzLuWlo4irv/QopvQd1f2DUVc+z6T/MWygS1zs7UnWRiRapq38wvYVMRVkvzDgv8ZyBrdJZ0aWrHbuLp+bNuuw5RwqldDt8kExEsnf+BetyRiLlTwIAvjdNbCsX4Fe2FM9QWx58DQfniDKbpFL3LrqJVWAAAAAElFTkSuQmCC" />
</svg>
<a class="btn-addlabel3">添加标签</a>
`)
                   // 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")
        });



        }











    }





})();