本WIKI编辑权限开放,正由 恋与深空Evol攻略组 搭建基础框架ing,期待更多猎人加入WIKI建设!
反馈留言收藏方法加入我们

全站通知:

Widget:ShowPlayerName

来自恋与深空WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

<script type="text/javascript">

   window.addEventListener('load', function () {
       try{
         window.userName = UserStatus.userInfo.uname ? UserStatus.userInfo.uname : "玩家";
         console.log(`window.userName获取成功:${window.userName}`);
       }catch(error){
         console.log("window.userName获取失败");
         window.userName = "玩家";
       }
       // 找到所有的MomentContainer
       document.querySelectorAll('.MomentContent').forEach(function (container) {
           var showDiv = container.querySelector('.Show');
           var replaceTextElements = container.querySelectorAll('.replaceText');
           var addTextElements = container.querySelectorAll('.AddText');
           var likeNumElement = container.querySelector('.LikeNumber');
           if (showDiv) {
               showDiv.addEventListener('click', function () {
                   //变成点赞
                   if (showDiv.getAttribute('data-state') === 'notlike') {
                       showDiv.setAttribute('data-state', 'like');
                       replaceTextElements.forEach(function (element) {
                           element.innerHTML = element.innerHTML.replace(/玩家/g, window.userName);
                       });
                       addTextElements.forEach(function (element) {
                           let textContent = element.textContent;
                           element.innerHTML = window.userName + (textContent.length > 0 ? "、" : "") + element.innerHTML;
                       });
                       if(likeNumElement){   // 点赞数+1
                          likeNumElement.innerHTML = Number(likeNumElement.innerHTML) + 1;
                       }
                       if(container.querySelector('.Like.commentName')){   // 显示昵称
                           container.querySelector('.Like.commentName').style.display = "block";
                       }
                   }
                   //变成非点赞
                   else if (showDiv.getAttribute('data-state') === 'like') {
                       showDiv.setAttribute('data-state', 'notlike');
                       replaceTextElements.forEach(function (element) {
                           let escapedUserName = window.userName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
                           let regex = new RegExp(escapedUserName, 'g');
                           element.innerHTML = element.innerHTML.replace(regex, '玩家');
                       });
                       addTextElements.forEach(function (element) {
                           let subLength = window.userName.length;
                           if(element.innerHTML.startsWith(window.userName + "、")){
                               subLength = subLength+1;                          
                           } 
                           else if (container.querySelector('.Like.commentName')){
                               container.querySelector('.Like.commentName').style.display = "none";   
                           } 
                           element.innerHTML = element.innerHTML.substring(subLength);
                       });
                       if(likeNumElement){   // 点赞数 - 1
                           likeNumElement.innerHTML = Number(likeNumElement.innerHTML) - 1;
                       }
                   }
               });
           }
       });
   });

</script>