作为一名中国的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
的一个属性,否则会在页面加载完,脚本执行过后就消失了。