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

推荐订阅源

博客园 - 【当耐特】
云风的 BLOG
云风的 BLOG
罗磊的独立博客
C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
I
InfoQ
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
B
Blog RSS Feed

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);
})();

改进脚本

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

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