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

推荐订阅源

N
Netflix TechBlog - Medium
IT之家
IT之家
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
小众软件
小众软件
博客园 - 叶小钗
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理

依云's Blog

Wayfire支持不缩放Xwayland啦 - 依云's Blog 使用wayvnc远程访问无头Wayfire会话 - 依云's Blog pacfiles: 高速的 pacman -F 替代品 用 Android 手机当电脑的话筒 - 依云's Blog 使用 ffmpeg 对音频文件进行响度归一化 - 依云's Blog 使用 nftables 屏蔽大量 IP - 依云's Blog YubiKey 初体验 - 依云's Blog fcitx5 码表同步方案 - 依云's Blog 我正在使用的火狐扩展(2024年版) - 依云's Blog 使用 PipeWire 实现自动应用均衡器 如果你发现你的 OOM Killer 在乱杀进程 使用 atuin 管理 shell 命令历史 btrfs 元数据满了怎么办 btrfs 翻车记 在 nspawn 里运行 docker Linux 上的字体配置与故障排除 新的 PaddleOCR 部署方案 使用 EasyEffects 调整 Bose 音箱的体验 让离线软件真正离线 我所讨厌的网页行为 tmux 状态栏优化 Google Chrome 中的字体设置 从 getmail6 到 offlineimap 微信消息通知的困扰 Qt 的字体渲染问题 Wayfire 迁移进展(四):不那么 high 的 DPI Wayfire 迁移进展(二):Xwayland HiDPI 以及 waybar Wayfire 迁移进展 不同情况下的图形效果 Wayland 初体验
GM 脚本:和WebQQ的滚动标题栏说再见
依云 · 2010-07-22 · via 依云's Blog

作为一名中国的Linuxer,我没能像一些幸福者那样摆脱QQ,尽管我一直在见缝插针地推广Gtalk,但收效甚微。在相当长的一段时期内,我还是不得不使用WebQQ。WebQQ有一个特点让我觉得*非常非常*烦人——在来消息后就那么一直一直一直一直地滚动标题栏,似乎有天大的事需要我立即处理否则就性命难保似的。非常非常讨厌。像Gmail或者twitter那样只是在标题栏上加个括号号个数字不行吗?。。。

我再也不要默默忍受下去了!于是,点击GreaseMonkey图标,打开Vim,开始写脚本。

脚本其实很简单,只是我今天才想到可以这样子而已。WebQQ当点击聊天对话框后标题就会变正常。于是,我用Javascript模拟点击。不好监测标题栏的改变,干脆每隔几秒去点一下算了。代码如下:

// ==UserScript==
// @name           quiet WebQQ
// @namespace      http://lilydjwg.is-programmer.com/
// @description    来消息时不要滚动标题栏
// @include        http://web.qq.com/main.shtml?*
// ==/UserScript==

window.clicker = function(){
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, false, window,
    0, 0, 0, 0, 0, false, false, false, false, 0, null);

  var edits = document.getElementsByClassName('editArea');
  for(var i=0, len=edits.length; i<len; i++){
    edits[i].dispatchEvent(evt);
  }
};

//最多滚动三秒好了
setInterval(window.clicker, 3000);

这里clicker函数需要作为window的一个属性,否则会在页面加载完,脚本执行过后就消失了。


点击此处安装