GreaseMonkey是个很强大的软件,无论是在Firefox还是Chrome上的表现,都无疑是出众的。之前写过一篇关于GreaseMonkey的文章,但是一直时间不多,没有继续研究下去。
这次打算做一个某知名网站的辅助工具(平时还是firefox用得多,chrome是偶尔用下,不过理论上Firefox和Chrome都是兼容的),所以就把GreaseMonkey又上手了一下。
比如我们要在某一页面添加一个借口,比如说:显示楼主。通过对页面结构的观察(我是用的是Firebug,总之自己习惯的工具就好),发现可以在一个id名为“thread_nav_lef”的Div上添加一个链接。这个Div的结构大致如下:
1 2 3 4 5 6 7 8 9 10 <div id="thread_nav_left"> <ul> <li><a onclick="Post.reply('0');" href="#sub">快速回复</a></li> <li><a title="切换到经典版" onclick="Page.changeVersion(2);return false;" href="#">切换到经典版</a></li> </ul> </div>
这样可以这样写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var init = function() { var showButton = document.getElementById('thread_nav_left').childNodes[1].childNodes[2];//为什么第二个是2?因为2比较美观,第一个格式有点乱…. var flli = document.createElement('li'); var fllink = document.createElement('a'); fllink.href = 'javascript:void(0);'; fllink.innerHTML = '只看楼主'; flli.appendChild(fllink); fllink.addEventListener('click', filter, false); // Filter是个函数,当点击时会执行Filter函数 showButton.parentNode.insertBefore(flli, showButton.nextSibling); }
nextSibling是一个插入到指定节点之后的方法,如果插入指定节点之前,可以选择去掉nextSibling。
效果大致如下:快速回复 只看楼主 切换到经典版
代码输入到GR中变成这样了
<div id="thread_nav_left">
<ul>
<li><a href="#sub" onclick="Post.reply('0');">快速回复</a></li>
<li><a href="#" onclick="Page.changeVersion(2);return false;" title="切换到经典版">切换到经典版</a></li>
</ul>
</div>
…不是LS那样的.截图好了.空格全部encode了
http://i46.tinypic.com/zyel47.jpg
@绝望了的绝望猫酥, 不太清楚你用的是那个Feeds,但是在我的GR里显示还是蛮正常的。Feed的地址是 http://feeds.feedburner.com/kernel2heart 。效果如图: http://img.ly/1AL6
@janxin, 订阅了feeds2.*的.这个是你右上角按钮提供的哦.嗯,改订不2的那个没问题了.带2的果然2.
@绝望了的绝望猫酥,
一直没注意到这个问题,一直也没怎么发代码什么东西的