其实userscripts.org上已经有很多类似功能的脚本,不过没有一个我看着满意的。

我的要求其实蛮简单

  • 要能完美的提取出RT文本,并自动放入发推的框里
  • 对原本的界面的改动尽量的小

其实能符合第一条的就已经不多了,大部分脚本都会带进来很多无意义的空格,到了第二条要求,就一个都不剩了……

其实嘛,因为这些变态的奇葩的需求,我不用Twitter官网很久了,不过刚好有推友需要,某人也有需求,所以决定自己实现一个

目前的设计是复用了官网Retweet的对话框。原本的Cancel按钮其实蛮不符合设计原则的,因为正常发推窗口是没有Cancel按钮的,对话框右上角又有关闭按钮,所以索性把这个改造成了RT模式切换。这样就对原本的设计界面不做任何干扰,代码量也减少了很多。

当中还是遇到一点小问题的。原本用CSS控制窗口显示,却发现在发推窗口第一次显示的时候,用js赋值到textarea里的内容,字数统计功能不会工作。只好改用dispatchEvent的方式触发点击了。

需要安装的同学,请点击Source来源链接即可。

又更新了两个小版本,其中值得一提的是支持Protected User的RT操作了。

这个小功能还是花了点力气的,因为Twitter自己已经先抓了click事件并停止了冒泡,所以我只能绑定mouseup事件,在click之前先把visibility设hidden了,然后再像之前设计的从其实已经看不到的Retweet对话框里取数据,再显示发推窗口。