如何使用GreaseMonkey给页面添加超链接

是个很强大的软件,无论是在还是Chrome上的表现,都无疑是出众的。之前写过一篇关于GreaseMonkey的文章,但是一直时间不多,没有继续研究下去。

这次打算做一个某知名网站的辅助工具(平时还是用得多,chrome是偶尔用下,不过理论上和Chrome都是兼容的),所以就把又上手了一下。

比如我们要在某一页面添加一个借口,比如说:显示楼主。通过对页面结构的观察(我是用的是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(&#39;0&#39;);" 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。

效果大致如下:快速回复 只看楼主 切换到经典版

此条目发表在 技术交流 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

如何使用GreaseMonkey给页面添加超链接》有 5 条评论

  1. :hurt2
    代码输入到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>

  2. …不是LS那样的.截图好了.空格全部encode了

    http://i46.tinypic.com/zyel47.jpg :hurt2

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

:zzz :stop :stone :smile :oops: :love :hurt2 :hurt :hit :hide :freeze :evil2 :cry :blind :angel 注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。