您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to always download the largest image size, calculated on the base of image dimensions megapixel total.
当前为
// ==UserScript== // @name InterfaceLIFT: Auto-select Largest Resolution // @description Adds a button to always download the largest image size, calculated on the base of image dimensions megapixel total. // @version 3.0.2 // @namespace sidneys // @author sidneys // @icon https://interfacelift.com/favicon.ico // @include http*://interfacelift.com/wallpaper/* // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @run-at document-end // ==/UserScript== const INTERFACELIFT_BASEURL = 'http://interfacelift.com/wallpaper/7yz4ma1/'; let calcMegapixels = (dimensionsString) => { let width = dimensionsString.match(/\d+/g)[0]; let height = dimensionsString.match(/\d+/g)[1]; let megapixels = ((width*height)/1048576).toFixed(2); return megapixels; }; let getMaximumImageDimensions = (imageId, imageName, elementSelect) => { let dimensionsList = []; let dimensionMax; let megapixelsMax; let urlMax; const imageIdPadded = imageId.length < 5 ? `0${imageId}` : `${imageId}`; const imageNameClean = imageName.replace(/_/g, ''); const elementOptionList = elementSelect.querySelectorAll('optgroup'); elementOptionList.forEach((elem) => { dimensionsList.push(elem.querySelector('option').value); dimensionsList.sort((a,b) => { megapixelsA = calcMegapixels(a); megapixelsB = calcMegapixels(b); if (megapixelsA > megapixelsB) { return -1; } if (megapixelsA < megapixelsB) { return 1; } return 0; }); }); dimensionMax = dimensionsList[0]; megapixelsMax = calcMegapixels(dimensionMax); urlMax = `${INTERFACELIFT_BASEURL}${imageIdPadded}_${imageNameClean}_${dimensionMax}.jpg`; return { dimensions: dimensionMax, megapixels: megapixelsMax, url: urlMax }; }; let parseItems = () => { let itemList = document.querySelectorAll('#wallpaper .item'); itemList.forEach((elem) => { /** Parse DOM for image name and id **/ let elemPreview = elem.getElementsByClassName('preview')[0]; let elemPreviewAnchor = elemPreview.getElementsByTagName('a')[0]; let elemPreviewSelect = elem.getElementsByClassName('select')[0]; let wallpaperUrl = elemPreviewAnchor.getAttribute('href'); let imageId = wallpaperUrl.match(/\d+/)[0]; let imageName = wallpaperUrl.replace(/.*\/|\.[^.]*$/g, ''); /** Calculate Maxima**/ const imageMaximum = getMaximumImageDimensions(imageId, imageName, elemPreviewSelect); const imageDimensions = imageMaximum.dimensions; const imageMegapixels = imageMaximum.megapixels; const imageUrl = imageMaximum.url; /** Set Form Value **/ let elemForm = elem.getElementsByClassName('select')[0]; elemForm.value = imageDimensions; /** Add Download Button **/ let elemDownload = document.createElement('div'); elemPreview.appendChild(elemDownload); elemDownload.style.height='28px'; elemDownload.style.marginLeft='44px'; elemDownload.style.backgroundColor='rgba(150,50,50,0.1)'; elemDownload.classList.add('download'); elemDownload.innerHTML=`<span style="display: inline-block; margin: 4px 8px; width: 145px; max-width: 145px; text-align: left; font-family: Arial, sans-serif; font-size: 11px; -webkit-font-smoothing: subpixel-antialiased;"><b>Max:</b> ${imageDimensions} (${imageMegapixels}MP)</span><div id="download_4113" style="display: inline-block; float: right;"><a download href="${imageUrl}"><img src="/img_NEW/button_download.png" style="filter: hue-rotate(169deg) saturate(400%);"></a></div>`; }); }; parseItems();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址