// ==UserScript== // @name 转换微信公众号图片到兼容格式 // @description 将WEBP格式图片转换到JPEG、PNG等兼容性较好的格式 // @namespace https://greasyfork.org/users/197529 // @homepage https://greasyfork.org/scripts/390883 // @supportURL https://greasyfork.org/scripts/390883/feedback // @author kkocdko // @license Unlicense // @version 0.3 // @match *://mp.weixin.qq.com/* // @downloadURL none // ==/UserScript== 'use strict' addFloatButton('转换全部图片到兼容格式', function () { document.querySelectorAll('img').forEach(el => { const imgUrlStr = el.dataset.src || el.src if (!imgUrlStr) { return } const imgUrl = new URL(imgUrlStr) imgUrl.searchParams.set('tp', 'png') const newImg = el.cloneNode() newImg.src = imgUrl.href el.parentNode.replaceChild(newImg, el) }) this.style.background = '#4caf50' this.textContent = '全部图片都已转换完成!' }) function addFloatButton (text, onclick) { return (document.addFloatButton = document.addFloatButton || (() => { const buttonContainer = document.createElement('div').attachShadow({ mode: 'open' }) buttonContainer.innerHTML = '' document.body.appendChild(buttonContainer.host) return (text, onclick) => { const button = document.createElement('button') button.textContent = text button.addEventListener('click', onclick) return buttonContainer.appendChild(button) } })())(text, onclick) }