巴哈姆特_新版B頁板務功能

文章列表左鍵選取、右鍵選單。

当前为 2018-12-24 提交的版本,查看 最新版本

// ==UserScript==
// @name         巴哈姆特_新版B頁板務功能
// @namespace    Bee10301
// @version      3.5
// @description  文章列表左鍵選取、右鍵選單。
// @author       Bee10301
// @require      https://code.jquery.com/jquery-3.3.1.min.js
// @match        https://forum.gamer.com.tw/B.php?*
// @match        https://forum.gamer.com.tw/C.php?*
// @homepage    https://home.gamer.com.tw/home.php?owner=bee10301
// ==/UserScript==

(function() {
    'use strict';
    window.onload=function(){
        //refresh mouse
        var BmouseX, BmouseY;
        document.onmousemove = handleMouseMove;
        function handleMouseMove(event) {
            var dot, eventDoc, doc, body,pageX, pageY;

            event = event || window.event; // IE-ism

            if (event.pageX == null && event.clientX != null) {
                eventDoc = (event.target && event.target.ownerDocument) || document;
                doc = eventDoc.documentElement;
                body = eventDoc.body;

                event.pageX = event.clientX +
                    (doc && doc.scrollLeft || body && body.scrollLeft || 0) -
                    (doc && doc.clientLeft || body && body.clientLeft || 0);
                event.pageY = event.clientY +
                    (doc && doc.scrollTop  || body && body.scrollTop  || 0) -
                    (doc && doc.clientTop  || body && body.clientTop  || 0 );
            }
            BmouseX=event.pageX;
            BmouseY=event.pageY;

        }

        ////right click
        //get manager
        var get_manage_bar = document.getElementsByClassName("managertools");
        //get btn
        var get_manage_btn = document.getElementsByClassName("btn--sm btn--ghost");
        if(window.location.href.match(/B.php/)!=null){
            get_manage_bar[0].innerHTML = "<div class='checkbox'></div><label for='check'></label><div class='bee' style='padding: 5px;'>  <button class='btn--sm btn--ghost' onclick='del()'>刪除</button>  <button class='btn--sm btn--ghost' onclick='lock()'>鎖定</button>  <button class='btn--sm btn--ghost' onclick='move_sub()'>修改子板</button></div><div class='bee' style='padding: 5px;'>  <button class='btn--sm btn--ghost' onclick='settop()'>置頂</button>  <button class='btn--sm btn--ghost' onclick='gather()'>收精華</button></div><div class='bee' style='padding: 5px;'>  <button class='btn--sm btn--ghost' onclick='recover()'>回復刪除</button>  <button class='btn--sm btn--ghost' onclick='rm()'>移除精M圖</button></div><div class='bee' style='padding: 5px;'>  <button class='btn--sm btn--ghost' onclick='location.href='listtype.php?stype=5&amp;bsn=04220&amp;subbsn=0''>刪文模式</button>  <button class='btn--sm btn--ghost' onclick='location.href='listtype.php?stype=10&amp;bsn=04220''>正常模式</button></div></div>";
            $(get_manage_bar).css({
                "position": "fixed",
                "width": "auto"
            });
        }else{
            //step by step for human read
            //front buck
            $( "button[class='btn--sm btn--ghost']" ).innerhtml="";


            get_manage_bar[0].innerHTML = get_manage_bar[0].innerHTML.replace(/(?:\r\n|\r|\n)/g, '');
            get_manage_bar[0].innerHTML = get_manage_bar[0].innerHTML.replace("<button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"dels()"+"\""+">刪除</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"recovers()"+"\""+">恢復刪除</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"settop()"+"\""+">置頂</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"lock()"+"\""+">鎖定</button>","<div class="+"\""+"bee"+"\""+" style="+"\""+"padding-top:5px"+"\""+"><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"dels()"+"\""+">刪除</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"lock()"+"\""+">鎖定</button>");
            //hind buck
            get_manage_bar[0].innerHTML = get_manage_bar[0].innerHTML.replace("<button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"Ms()"+"\""+">M文</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"gathers()"+"\""+">收精華</button>","</div><div class="+"\""+"bee"+"\""+" style="+"\""+"padding-top:5px;padding-bottom:5px;"+"\""+"><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"gathers()"+"\""+">收精華</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"Ms()"+"\""+">M文</button><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"settop()"+"\""+">置頂</button></div><button type="+"\""+"button"+"\""+" class="+"\""+"btn--sm btn--ghost"+"\""+" onclick="+"\""+"recovers()"+"\""+">恢復刪除</button>");
            //css float
            $(get_manage_bar).css({
                "position": "fixed",
                "top": "17rem",
                "width": "auto",
                "right": "10px"
            });
        };
        //do css-basic
        
        //get elements (checkbox)
        var temp_elements_checkbox = document.getElementsByName("jsn[]");
        var all_title = document.getElementsByClassName("b-list__main");
        var all_title_link = document.getElementsByClassName("b-list__main__title");
        var top_banner = document.getElementsByClassName("BH-menuE");
        var temp_matcher;
        //box right click
        for( var $i = 0; $i < all_title.length; $i++ ) {
            //prevent bug
            temp_elements_checkbox[$i].checked = false;
            all_title[$i].outerHTML = all_title[$i].outerHTML + "</td><td style=\"width: 4rem;\"><a title=\"快速瀏覽\" class=\"btn-icon btn-icon--inverse bee_preview\"><i class=\"material-icons bee_preview\" style=\"background-color: darkcyan;\">fullscreen</i></a><a class=\"btn-icon btn-icon--inverse bee_open_new_wd\" title=\"開新視窗\" onclick=\"window.open('"  + $(all_title_link[$i]).attr("href") + "')\" ><i class=\"material-icons\" style=\"background-color: darkcyan;\">open_in_new</i></a>";
            //add onclick
            all_title[$i].onclick = function () {
                //disable manager
                $(get_manage_bar).hide();
                //get inner
                temp_matcher = this.innerHTML;
                //get snA
                temp_matcher = temp_matcher.match(/snA=(\d*)/)[1];
                for(var i2= 0 ; i2< temp_elements_checkbox.length ; i2 ++){
                    if(temp_elements_checkbox[i2].value == temp_matcher){
                        if(temp_elements_checkbox[i2].checked){
                            temp_elements_checkbox[i2].checked = false;
                            $(this).css({"background-color":""});
                            }
                        else{
                            temp_elements_checkbox[i2].checked = true;
                            $(this).css({"background-color":"red"});
                            
                        };
                    }
                }

            };
            //right click (*only on element)
            all_title[$i].oncontextmenu = function () {
                var temp_scroll = window.scrollY || window.scrollTop || document.getElementsByTagName("html")[0].scrollTop;
                $(get_manage_bar).css({
                    "left":BmouseX+"px",
                    "top":BmouseY-temp_scroll+"px"
                });
                $(get_manage_bar).show();
                //right click return
                return false;
            }
            //add html
            
        //end for
        }
        
        $("#fb-root").html("<div class=\"bee_preview_wd\" style=\"height: 95%;width: 0rem;z-index: 100;position: fixed;transition: all 0.5s cubic-bezier(0.21, 0.3, 0.18, 1.37) 0s;\"></div>");
        $(".bee_preview_wd").html("<iframe id=\"bee_frame\" title=\"bee_frame\" src=\"\" style=\"border: 1em solid rgb(170, 50, 220, 0);\" width=\"100%\" height=\"90%\"></iframe>");

        $("#BH-menu-path").css({
            "transition":"all 0.5s cubic-bezier(0.21, 0.3, 0.18, 1.37) 0s",
            "height":"0%"
        });

        $('.bee_preview').click(function(){
            $("#bee_frame").attr('src',"https://forum.gamer.com.tw/" + $(this).parent().parent().find(".b-list__main__title").attr('href'));
                $("#BH-menu-path").css({
                    "height":"100%"
                });
        });
        $('#BH-menu-path').click(function(){
            $(".bee_preview_wd").css({
                "width":"0%"
            });
            $("#BH-menu-path").css({
                "height":"0%"
            });
        });
        $("#bee_frame").bind("load",function(){
            console.log($("#BH-menu-path").css("height"));
            if($("#bee_frame").attr('src')!="" && $("#BH-menu-path").css("height")!="0px"){
                $("#bee_frame").contents().find("#BH-menu-path").html(" ");
                $("#bee_frame").contents().find(".TOP-bh").html(" ");
                $("#bee_frame").contents().find(".c-fixed--header").css({
                    "top":"0px"
                });
                $("#bee_frame").contents().find("#bh-banner").css({
                    "height":"0%"
                });

                $(".bee_preview_wd").css({
                    "width":"80%",
                    "max-width":"1287px"
                });
            }
        });

    }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址