Greasy Fork

Greasy Fork is available in English.

阴阳师鉴宝屋油猴脚本

在阴阳师藏宝阁页面左侧自动显示鉴宝屋结果页

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         阴阳师鉴宝屋油猴脚本
// @namespace    https://github.com/JellyL/jbwGreasyfork
// @icon         https://yys.jellyl.com/img/wu.8dccb370.svg
// @version      2.1
// @description  在阴阳师藏宝阁页面左侧自动显示鉴宝屋结果页
// @author       Jelly L
// @match        https://yys.cbg.163.com/*
// @match        https://yys-xiaomi.cbg.163.com/*
// @match        https://yys-huawei.cbg.163.com/*
// @match        https://yys-oppo.cbg.163.com/*
// @exclude      https://yys.cbg.163.com/cgi/mweb/yuhun-collocation*
// @grant        window.onurlchange
// @grant        GM_addStyle
// @grant        unsafeWindow
// @run-at       document-end
// ==/UserScript==

//全局藏宝阁宽度变量,如果你想藏宝阁宽度更窄,只需要更改以下变量值即可
//maxWidth取值范围为0~750,越小界面宽度越小
//zoomSize取值范围为0~1,越小界面整体缩放越小
var maxWidth = 550;
var zoomSize = 1;

//变小藏宝阁最大宽度
var cssCompile = `
       body{max-width: ${maxWidth}px;}
      .page-app{zoom:${zoomSize};}
      .site-navbar-fixed{max-width: ${maxWidth}px !important;}
      .site-footbar{max-width: ${maxWidth}px;}
      .page-prod-role-list .role-list-tabs{max-width: ${maxWidth}px;}
      .page-role-detail .preview{max-width: ${maxWidth}px;}
      .c-popup{max-width: ${maxWidth}px;}
      .page-tabs .tabs{max-width: 500px;}
      .page-search .search-header{max-width: ${maxWidth}px;}
      .c-popup-open{max-width: ${maxWidth}px;}
      .index-popup-ad{max-width: ${maxWidth}px;}
      .role-list-tabs{max-width: ${maxWidth}px !important;}
      .footer{max-width: ${maxWidth}px !important;}
      .activity-filter{max-width: ${maxWidth}px !important;}
      .tabs{max-width: ${maxWidth}px !important;}
      .root_YcRdK{max-width: ${maxWidth}px !important;}
      .noListFilter{max-width: ${maxWidth}px !important;}
     `;
GM_addStyle(cssCompile);
//初始化变量
var pageHeight = window.innerHeight;
var pageWidth = (window.innerWidth - maxWidth - 30) / 2;
var pagePath = location.pathname;
//初始化iframe
var pageFrame = document.createElement("iframe");
pageFrame.setAttribute("id", "yysjbw-iframe-tag");
pageFrame.src = "https://yys.jellyl.com" + pagePath;
pageFrame.frameBorder = 0;
pageFrame.width = pageWidth + "px";
pageFrame.height = pageHeight + "px";
//初始化div容器
var containerDiv = document.createElement("div");
containerDiv.setAttribute("style", "position:fixed;top:0%;right:0%;");
//载入iframe
document.body.appendChild(containerDiv);
containerDiv.appendChild(pageFrame);

//更换页面时同步更新
var initial = function () {
    "use strict";

    var pageFrameNew = document.createElement("iframe");
    pageFrameNew.setAttribute("id", "yysjbw-iframe-tag");
    var pagePathNew = location.pathname;
    pageFrameNew.src = "https://yys.jellyl.com" + pagePathNew;
    pageFrameNew.frameBorder = 0;
    pageFrameNew.width = pageWidth + "px";
    pageFrameNew.height = pageHeight + "px";
    var theFrame = document.getElementById("yysjbw-iframe-tag");
    containerDiv.replaceChild(pageFrameNew, theFrame);
};

//根据浏览器大小变化响应

function resizing() {
    var iframeObj = containerDiv.childNodes;
    iframeObj[0].setAttribute(
        "style",
        `width:${(window.innerWidth - maxWidth - 30) / 2}px;height:${window.innerHeight
        }px`
    );
}

window.onresize = function () {
    resizing();
};
//劫持
(function (open) {

    let _open = XMLHttpRequest.prototype.open;
    window.XMLHttpRequest.prototype.open = function () {
        this.addEventListener("readystatechange", function () {
            if (this.responseURL.startsWith("https://yys.cbg.163.com/cgi/api/get_equip_detail")) {

                const prefab = JSON.parse(JSON.parse(this.response).equip.equip_desc).prefab_team;


                // 如果你的脚本需要添加此阵容名,请添加id为no-jbw-team-name的任一元素,以防止UI冲突
                !document.getElementById('no-jbw-team-name') && !window.NoJbwTeamName && setInterval(function () {
                    if (!document.URL.startsWith("https://yys.cbg.163.com/cgi/mweb/equip")) {
                        return;
                    }
                    if (document.getElementsByClassName('content-team').length && !document.getElementsByClassName('jbw_name').length) {
                        const dom = document.getElementsByClassName('team-module')
                        for (let i = 0; i < dom.length; i += 1) {
                            var name = document.createElement("a");
                            name.setAttribute("style", "position:absolute;transform: translateX(40px);color: black;");
                            name.setAttribute("class", "jbw_name");
                            name.innerText = prefab[i].name

                            dom[i].parentNode.insertBefore(name, dom[i])
                        }
                    }
                }, 500);
            }
        }, false);
        open.apply(this, arguments);
    };
})(window.XMLHttpRequest.prototype.open);

//劫持结束


//油猴单页应用onurlchange检测
if (window.onurlchange === null) {
    window.addEventListener("urlchange", (info) => {
        initial();
        resizing();
    });
}