Greasy Fork is available in English.
微信服务器为了节省流量并提升加载速度,会将图片转换为WEBP格式,此脚本将其转换回JPEG、PNG等兼容性较好的格式
当前为
// ==UserScript==
// @name 转换微信公众号图片为兼容格式
// @description 微信服务器为了节省流量并提升加载速度,会将图片转换为WEBP格式,此脚本将其转换回JPEG、PNG等兼容性较好的格式
// @namespace http://greasyfork.icu/users/197529
// @homepage http://greasyfork.icu/scripts/390883
// @supportURL http://greasyfork.icu/scripts/390883/feedback
// @author kkocdko
// @license Unlicense
// @version 0.3
// @match *://mp.weixin.qq.com/*
// ==/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 = '<style>:host{position:fixed;top:3px;left:3px;z-index:3333333333;height:0}#i{display:none}*{float:left;margin:3px;padding:1em;outline:0;border:0;border-radius:4px;background:#2196f3;box-shadow:0 1px 3px 0 #00000022;color:#fff;font-size:14px;line-height:0;transition:.3s}:active{background:#63b5f7;box-shadow:0 2px 5px 0 #00000033}button:active{transition:0s}:checked~button{visibility:hidden;opacity:0;transform:translateY(-3em)}label{border-radius:50%}:checked~label{opacity:.3;transform:translateY(3em)}</style><input id=i type=checkbox><label for=i></label>'
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)
}