您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hover items to preview on current model (dragon or scry).
// ==UserScript== // @name Flight Rising: Dressing Room Previewer // @description Hover items to preview on current model (dragon or scry). // @namespace https://greasyfork.org/en/users/547396 // @author https://greasyfork.org/en/users/547396 // @match *://*.flightrising.com/dressing/* // @grant none // @version 0.3 // ==/UserScript== (function() { 'use strict'; const morphBtn = document.getElementById('search-morphologies'), dragonBtn = document.getElementById('search-dragons'), outfitBox = document.getElementById('dr-apparel-selected'), outfitTitle = outfitBox.getElementsByClassName('dr-apparel-widget-title')[0], searchReturn = document.getElementById('dr-apparel-search-results'), timeDelay = 2000, previewBox = document.createElement('div'), previewImg = document.createElement('img'); let imgType; let dragonID; outfitTitle.appendChild(previewBox); previewBox.appendChild(previewImg); previewImg.setAttribute('width','198'); previewBox.style.border = '1px solid #ccc'; previewBox.style.margin = '5px 0 0 5px'; previewBox.style.width = '198px'; previewBox.style.height = '198px'; // event listeners morphBtn.addEventListener('click', init); dragonBtn.addEventListener('click', init); // lets gooo init(); function init() { previewImg.src = ''; // reset setTimeout(function(){ getCurrDragon(); preparePreview(); }, 2000); } function getCurrDragon() { let dragonBox = document.getElementById('dragon-image-box'); let dragonImage = dragonBox.getElementsByTagName('img')[0].src; let urlString = dragonImage.toString(); let url = new URL(urlString); dragonID = url.searchParams.get('did') || url.searchParams.get('sdid'); imgType = (urlString.includes('scry')) ? 'scry' : 'dragon'; previewImg.src = buildUrl( imgType, dragonID ); } function updatePreview( itemID ) { let newSrc = buildUrl(imgType, dragonID, itemID); if (previewImg.src !== newSrc) { previewImg.src = newSrc; } } function buildUrl( type, id, apparel ) { let sord = ( type == 'dragon' ) ? 'd' : 'sd'; let returnUrl = `https://www1.flightrising.com/dgen/dressing-room/${type}?${sord}id=${id}&skin=0&apparel=${apparel}&xt=dressing.png`; return returnUrl; } function preparePreview() { let items = searchReturn.querySelector('.items'); items.addEventListener('mouseover', function( event ) { let item = event.target; if ( item.classList.contains('fayt-search-result-item') ) { let itemid = item.getAttribute('data-itemid'); setTimeout(function(){ updatePreview(itemid); }, 500); } }, false); } })();