読み込んでいます...

这一段时间发现Firefox还是很强大的,因为随着越来越多的插件的使用,我发现越来越多的功能都是我必备的功能,也发现自己的web生活越来越离不开Firefox了,可怜的IE,因为COM和.NET变得越来越复杂和难以开发,导致很多开发人员都不能很好的入手,当然,难也不难,主要是麻烦,过一段时间可能我会写一些关于IE插件的开发吧。不过话说回来,这种JavaScript方式的浏览器还是很具有扩展性的,在这里赞一下Firefox。

OK,现在我们来做一个Sidebar。我们看到很多扩展都用到了Sidebar,这个Sidebar很常用,而且也会有很多用户非常喜欢Sidebar,这个时候就需要用Sidebar做一些扩展,扩张我们的插件范围。OK,我们先写一个XUL,新建一个XUL名字叫sidebar然后我们编写以下XUL代码。

<?xml version="1.0"?>
<?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,让用户可以选择他,代码如下所示。 

<menupopup id="viewSidebarMenu">
 
<menuitem key="key_openEmptySidebar" observes="viewEmptySidebar"  />
</menupopup>

然后我们就可以在下面这View里面的Sidebar中看到我们的Sidebar了,OK,然后我们要添加一个快捷方式,就是用户按什么键呼出我们Sidebar,示例代码如下所示。

<keyset id="mainKeyset">
 
<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很像,代码编写如下。

<broadcasterset id="mainBroadcasterSet">
    
<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了,:),然后,你可以做任何你想做的事情了。相关资料

358路过 5评论 Firefox Addon 阅读全文..
  1. Meta @

    更新的速度真快。。。学习了。。谢谢。。

  2. 诡异的西红柿 @

    @Meta
    呵呵,真的假的,你还学这啊。。

  3. cokebug @

    这个世界太需要楼主了.

  4. 不能生孩子怎么办 @

    博主的文章写的很好,先订阅了,嘿嘿!~;-) 另外请问博主可以交换友链吗?

:-D :-? 8) :cry: 8-O :lol: :-x :-| :?: :-P :oops: :roll: :( :) :-o :wink: more »