您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
微信公众号文章辅助工具,可以提取公众号最短的链接,自动下载所有webp图片。
- // ==UserScript==
- // @name WechatWebpArchive
- // @namespace http://github.com/palhotel
- // @icon https://www.likeada.com/favicon.ico
- // @version 0.2
- // @description 微信公众号文章辅助工具,可以提取公众号最短的链接,自动下载所有webp图片。
- // @author palhotel
- // @match https://mp.weixin.qq.com/s*
- // @grant unsafeWindow
- // @require https://cdnjs.cloudflare.com/ajax/libs/jszip/3.6.0/jszip.min.js
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- var elem = document.createElement('div');
- elem.style = 'position:fixed;top:10px;left:10px;width:100px;border:1px solid #1aad19;color:#laad19;text-align:center;padding: 2px;';
- elem.className = 'wechat-webp-archive';
- /*
- * action: copy short url to clipboard
- */
- var hideElem = document.createElement('div');
- hideElem.style = 'width:0;height:0;z-index:-999;position:absolute;left:-2000px;top:-2000px;';
- hideElem.innerHTML = '<input id="wechat-webp-archive-hidden-input" value=""/>';
- elem.appendChild(hideElem);
- var copyToClipboard = function(event){
- const input = document.querySelector('#wechat-webp-archive-hidden-input');
- input.select();
- if (document.execCommand('copy')) {
- alert('已复制到剪贴板');
- }
- }
- var copyShortLink = function(event){
- var url = location.href;
- if(url.startsWith('https://mp.weixin.qq.com/s/')){
- const input = document.querySelector('#wechat-webp-archive-hidden-input');
- input.value = url;
- copyToClipboard();
- return;
- }
- var segs = url.split('&');
- var collected = [];
- collected.push(segs[0]);
- for(var i = 1; i < segs.length; i++){
- if(segs[i].startsWith('mid=') || segs[i].startsWith('idx=') || segs[i].startsWith('sn=')){
- collected.push(segs[i]);
- } else {
- continue;
- }
- }
- var newurl = collected.join('&');
- const input = document.querySelector('#wechat-webp-archive-hidden-input');
- input.value = newurl;
- console.log(newurl);
- copyToClipboard();
- };
- var button = document.createElement('button');
- button.style = 'width: 80%;height:32px;line-height:16px;padding:1px;background:#1aad19;color:#ffffff;border:none;'
- button.textContent = "精简URL";
- button.style.borderRadius = "4px";
- button.addEventListener("click", copyShortLink);
- function zipImages() {
- var zip = new JSZip();
- var canvas = document.createElement('canvas');
- var ctx = canvas.getContext('2d');
- var imgElems = document.querySelectorAll('img[data-src].rich_pages.wxw-img');
- // Loop through all images and add them to zip file
- const promises = [];
- for (let i = 0; i < imgElems.length; i++) {
- var img = imgElems[i];
- var attrs = img.attributes;
- let realUrl = '';
- let imgType = '';
- for(let j = 0; j < attrs.length; j++){
- if(attrs[j].name === 'data-type'){
- imgType = attrs[j].value;
- } else if(attrs[j].name === 'data-src'){
- realUrl = attrs[j].value;
- }
- }
- console.log(realUrl);
- promises.push(fetch(realUrl).then(response => response.blob()).then(blob => {
- zip.file('image' + i + '.' + imgType, blob);
- return i;
- }));
- }
- Promise.all(promises).then((blobs) => {
- // Generate zip file and download it
- zip.generateAsync({type:"blob"}).then(function(content) {
- var link = document.createElement('a');
- link.href = URL.createObjectURL(content);
- link.download = 'images.zip';
- link.click();
- });
- });
- }
- /*
- * action: download pictures archive
- */
- var buttonImg = document.createElement('button');
- buttonImg.style = 'margin-top:2px;width: 80%;height:32px;line-height:16px;padding:1px;background:#1aad19;color:#ffffff;border:none;'
- buttonImg.textContent = "所有图片";
- buttonImg.style.borderRadius = "4px";
- buttonImg.addEventListener("click", zipImages);
- elem.appendChild(button);
- elem.appendChild(buttonImg);
- document.getElementsByTagName('body')[0].appendChild(elem);
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址