惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

Xie Yonglin Blog

网站新增一些有趣的小玩意 手机越旧,生活越美好 电脑小白 vs 高手 vs 技术宅:常用软件大比拼 吃力不讨好 搜索工具进化录:从 Google 到 Claude 为什么我用独立博客代替社交媒体 近期生活小记 汇丰,会疯!会封? 七月继续填满健身圆环 祝你幸福 周杰伦新歌 MV 有错别字? 电动车 Sample, text here 抢购口罩的奇葩方式 组装电脑 Buster Keaton 的默片时代 当歌名遇上代码 新年梦见第一首歌 520 随笔
为微信网页版添加论坛风签名档(附源码)
2017-07-09 · via Xie Yonglin Blog

在微信网页版中为每条消息自动添加个性签名是一件蛮酷的事,仿佛将经典的论坛的签名档功能融入微信中。

我们可以使用油猴插件(Tampermonkey)来注入JavaScript代码,通过修改微信网页版的DOM元素和事件来实现自动添加签名的功能。

主要功能

  1. 修改发送按钮的事件
  2. 添加 Shift+Enter 快捷键支持
  3. 创建自定义按钮

完整代码

// ==UserScript==
// @name 微信网页版消息签名助手
// @namespace http://xieyonglin.com/
// @version 0.1
// @description 微信消息添加签名档
// @author Xie Yonglin
// @match https://wx.qq.com/
// @grant none
// ==/UserScript==

// 发送带签名的消息
function SendMsg(content) {
angular.element('pre:last').scope().editAreaCtn =
String(content + '\n ----通过 X-Phone Plus 发布');
angular.element('pre:last').scope().sendTextMessage();
}

// 获取输入框内容并发送
function SendMsgWithInput() {
var temp = document.getElementById('editArea').innerHTML;
angular.element('pre:last').scope().editAreaCtn =
String(temp + '\n ----通过 X-Phone 发布');
angular.element('pre:last').scope().sendTextMessage();
}

// 创建自定义按钮
function CreateButton(buttonText) {
var votebutton = document.createElement("input");
votebutton.type = "button";
votebutton.value = buttonText;
votebutton.name = "custom-button";
votebutton.className = "btn btn-default";
votebutton.onclick = function () {
SendMsg(this.value);
};
tool_bar.appendChild(votebutton);
}

// 主函数
(function () {
'use strict';

// 修改默认发送按钮行为
var sendButton = '<a class="btn btn_send" href="javascript:;" ">发送</a>';
document.getElementsByClassName("btn_send")[0].outerHTML = sendButton;
document.getElementsByClassName("btn_send")[0].onclick = function () {
SendMsgWithInput();
};

// 添加Shift+Enter快捷键支持
document.getElementsByClassName("content ng-isolate-scope")[0].onkeydown =
function (event) {
var e = event || window.event ||
arguments.callee.caller.arguments[0];
if (e && e.shiftKey == 1) {
SendMsgWithInput();
}
};

// 创建测试按钮
CreateButton('test');

// 创建带签名发送按钮
var toolbar = document.getElementsByClassName("toolbar")[0];
var signButton = document.createElement("input");
signButton.type = "button";
signButton.value = "带签名发送";
signButton.name = "sign-button";
signButton.className = "btn btn-default";
signButton.onclick = function () {
SendMsgWithInput();
};
toolbar.appendChild(signButton);
})();

改进脚本

通过简单的代码修改,你可以在签名中加入实时时间、当前城市、天气状况,甚至是一句每日随机格言。

这让我想起曾经在论坛里遇到的一位大哥,他坚持在每个帖子下都手写一份签名档。这种对签名的执着与热爱,让网络世界始终保持着一份温度与人情味。这种精神值得我们学习👍。