您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
更佳的浏览体验,更快获得微信推送封面图与文章摘要以及更多功能
当前为
// ==UserScript== // @name 微信推送浏览功能拓展 // @namespace https://blog.csdn.net/Huuc6 // @version 0.5 // @description 更佳的浏览体验,更快获得微信推送封面图与文章摘要以及更多功能 // @author huuc // @match *://mp.weixin.qq.com/s* // @icon https://gitee.com/ziuc/utool-filebed/raw/master/20210514-231824-0795.png // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js // @license GPL-2.0 //New Features /* * 功能特性: * 增加单击文本复制文章摘要功能 * 增加设置默认时间显示格式 * 增加设置引导关注栏的开启或关闭 * 移除了“封面链接”按钮,获取封面链接可以点击公众号蓝字后点击内部的二维码获取 * 性能优化: * 用对象变量统一管理功能开闭的逻辑,所有功能的启用与关闭都可以自行配置 * 增加checkout()函数,脚本运行主要功能前首先进行逻辑判断,减小不必要的性能开销 * 引入jQuery库,相比原生DOM操作代码量更小,代码可读性更高 * 适配新标准,停用var声明变量,改用ES6新增的let与const * */ // ==/UserScript== (function() { 'use strict'; let state= { url_state : true, // 是否启用点击二维码跳转到封面图链接功能 recommend_state : true, // 是否显示引导关注栏 datetype_state : true, // 是否启用修改默认时间显示模式功能 summary_state : true // 是否启用显示摘要功能 } if(checkout(state)===true) { const data = document.documentElement.outerHTML; //点击二维码跳转到封面图链接 if(state.url_state===true) { let linkReg_1 = /msg_cdn_url = "(.*)"/ig; let url = linkReg_1.exec(data); let trueurl = url[1]; console.log(trueurl); $('#js_profile_qrcode_img').click(function(){window.location.href=trueurl}); } // 向网页中添加文章摘要并加入复制到剪切板功能 if(state.summary_state===true) { let meta = document.getElementsByName("description"); let contents = meta[0].content; let d2 = document.getElementById('meta_content'); let clipboard = new ClipboardJS('.btn'); // 要使用 clipboard.js 需要声明一个clipboard实例 d2.insertAdjacentHTML('afterend','<div id="summary" class="btn" data-clipboard-text="#" style="color: #B3B3B3FF; border-radius: 5px"></div><br/>'); $('#summary').html("文章摘要:"+contents); $('#summary').attr("data-clipboard-text",contents); } //修改时间格式 if(state.datetype_state===true) { let linkReg_2 = /",i="(\d{4}-\d{1,2}-\d{1,2})";/g; let date = linkReg_2.exec(data); $('#publish_time').text(date[1]); } //隐藏引导关注栏 if (state.recommend_state!==true) { $('.qr_code_pc').hide(); } } else { console.log('WeChat article browsing function expansion scripts is disabled.'); } // checkout()函数 function checkout(state) { let states = Object.keys(state); let num = states.length; let j=0; for (let i = 0; i < num-1; i++) // num:状态判断个数 { if(state[states[i]]===false) { j++; } } return j !== num - 1; } })(); //todo: /* * 将全部原生jsDOM操作替换为jQuery操作 * 优化变量声明过程,让代码更简洁 * 增加设置窗口,可以设置脚本默认功能,如日期显示、不同形式的封面图 * 增加更多的可选样式(自定义样式) */