// ==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)
}