(Ver 0.5)油猴脚本:微信推送浏览功能拓展

(Ver 0.5)油猴脚本:微信推送浏览功能拓展

Latest update date:2021/05/18 Ver0.5

Ver0.5 更新说明:

功能特性:

  • 增加单击文本复制文章摘要功能

  • 增加设置默认时间显示格式

  • 增加设置引导关注栏的开启或关闭

  • 移除了“封面链接”按钮,获取封面链接可以点击公众号蓝字后点击内部的二维码获取

性能优化:

  • 用对象变量统一管理功能开闭的逻辑,所有功能的启用与关闭都可以自行配置

  • 增加checkout()函数,脚本运行主要功能前首先进行逻辑判断,减小不必要的性能开销

  • 引入jQuery库,相比原生DOM操作代码量更小,代码可读性更高

  • 适配新标准,停用var声明变量,改用ES6新增的let与const


主要功能:

  • 一键跳转微信推送封面图链接
  • 在推送正文头部显示推送摘要全文,一键文本复制文章摘要功能
  • 设置默认时间显示格式
  • 所有功能可以配置是否启用

使用方法:

1.安装 Tampermonkey 浏览器插件(脚本管理器)

​ 到浏览器拓展商城搜索Tampermonkey,安装拓展。

​ 或者访问Tampermonkey 官网下载安装自己浏览器对应的拓展版本。

2.安装脚本

​ 访问Greasyfork,安装脚本到脚本管理器中。

3.使用脚本

​ 确保脚本在脚本管理器中处于启用状态,在浏览器中随意打开一篇推送,例:春节期间小程序及小游戏审核调整通知注:文章链接须以mp.weixin.qq.com开头

使用脚本前:

使用脚本后(现有功能全开启):

在文章正文头部,显示了文章摘要全文,可以单击文本一键复制到剪切板。

点击公众号蓝字,点击弹出浮窗中的二维码图片,可以跳转到文章封面图链接,同时隐藏了右侧悬浮的引导关注栏。

20210515-004607-0837.jpg

如图为单击“封面链接”后跳转的网页页面

所有功能可以在修改是否启用,后期计划中将为脚本配置可视化设置界面,支持自定义文章显示样式(true为启用,false为禁用)

后期计划

  • 将全部原生DOM操作替换为jQuery操作
  • 优化变量声明过程,让代码更简洁
  • 增加设置窗口,可以设置脚本默认功能,如日期显示、不同形式的封面图
  • 增加更多的可选样式(自定义样式)
  • 搭建网站,将功能迁移至公共网站,以美化输入框方式输入链接,提取封面图、摘要等内容,同时适配手机端和电脑端。
  • 欢迎持续关注!

相关链接:

*CSDN:*用.exe可执行程序获取微信推送封面图

*CSDN:*13行MATLAB代码实现网络爬虫 爬取NASA画廊星图

源代码(JavaScript):

// ==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/clipboard@2.0.6/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操作
* 优化变量声明过程,让代码更简洁
* 增加设置窗口,可以设置脚本默认功能,如日期显示、不同形式的封面图
* 增加更多的可选样式(自定义样式)
*/

作者才学尚浅,如使用中遇到问题,欢迎留言评论提供反馈!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值