这一段时间发现Firefox还是很强大的,因为随着越来越多的插件的使用,我发现越来越多的功能都是我必备的功能,也发现自己的web生活越来越离不开Firefox了,可怜的IE,因为COM和.NET变得越来越复杂和难以开发,导致很多开发人员都不能很好的入手,当然,难也不难,主要是麻烦,过一段时间可能我会写一些关于IE插件的开发吧。不过话说回来,这种JavaScript方式的浏览器还是很具有扩展性的,在这里赞一下Firefox。
OK,现在我们来做一个Sidebar。我们看到很多扩展都用到了Sidebar,这个Sidebar很常用,而且也会有很多用户非常喜欢Sidebar,这个时候就需要用Sidebar做一些扩展,扩张我们的插件范围。OK,我们先写一个XUL,新建一个XUL名字叫sidebar然后我们编写以下XUL代码。
<?xml-stylesheet href="chrome://{appname}/skin/overlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://{appname}/locale/overlay.dtd"> <page id="hotSidebar" title="hotSidebar"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
<vbox flex="1">
<label id="atestlabel" value="test" />
</vbox>
</page>
注意,Sidebar的XUL代码是以Page开头的,这个Page同样我们要给ID和TITLE两个属性,然后里面的代码就像所有其他的XUL一样编写了,这里我们随便写一个XUL,这个XUL里面就只有一个文本控件并且输出的是test,OK。制作完了之后,我们就要写overlay了,overlay可以看做是我们的插件里面最最主要的“首页”了。
首先,我们要在Sidebar那一栏中显示一个menuitem,让用户可以选择他,代码如下所示。
<menuitem key="key_openEmptySidebar" observes="viewEmptySidebar" />
</menupopup>
然后我们就可以在下面这View里面的Sidebar中看到我们的Sidebar了,OK,然后我们要添加一个快捷方式,就是用户按什么键呼出我们Sidebar,示例代码如下所示。
<key id="key_openEmptySidebar" command="viewEmptySidebar"
key="A"
modifiers="accel" />
</keyset>
这里key属性就是普通按键,而modifiers是特殊键,比如这里accel就是ctrl键,如果想要加上shift的话,可以加上shift,如果是shift+ctrl的话,直接用空格隔开就可以了,如shift accel。这里我们就用ctrl键和A健的组合就行了。
写完组合键之后,我们再写sidebar的框架了,这个框架和HTML里面的frame很像,代码编写如下。
<broadcaster id="viewEmptySidebar"
label="HotSidebar"
autoCheck="false"
type="checkbox"
group="sidebar"
sidebarurl="chrome://{appname}/content/sidebar.xul"
sidebartitle="HotSidebar"
oncommand="toggleSidebar(‘viewEmptySidebar’);" />
</broadcasterset>
其中sidebarurl就是我们的sidebarurl了,这里不仅能够使用XUL,还可以使用外部地址,如http://www.jguoer.com,就像一个浏览器内嵌的frame。(注意,这里的broadcasterset的id是不能改的)
最后我们运行一下我们的插件,就会是以下效果,看看做一个Sidebar不是很难把。:)

一个简单的Sidebar就OK了,:),然后,你可以做任何你想做的事情了。相关资料。
更新的速度真快。。。学习了。。谢谢。。
@Meta
呵呵,真的假的,你还学这啊。。
这个世界太需要楼主了.
[...] Firefox Add-on – 制作Sidebar [...]
博主的文章写的很好,先订阅了,嘿嘿!~;-) 另外请问博主可以交换友链吗?