`
wangminshe89
  • 浏览: 702293 次
文章分类
社区版块
存档分类
最新评论

Firefox插件开发(3)——我的第一个扩展

 
阅读更多

简单知道了XUL,迫不及待地想立即编写一个插件,哪怕什么事情都不做也好。O(∩_∩)O

通过这个页面https://developer.mozilla.org/en/Building_an_Extension,可以找到编写一个插件必须要做得一些事情,写的很清楚。最后产生的目录和文件结构是这个样子:
install.rdf
chrome.manifest
chrome
|--content
|--overlay.xul (我准备在这里编写代码,在FF的工具栏上添加一个按钮)
|--locale
|--en-US
|--sample.dtd
|--zh-CN
|--sample.dtd
|--zh-TW
|--sample.dtd
|--skin
|--classic
|--sampleicon.png
|--smallicon.png
|--default.css (界面显示的样式表,今后可能会用到)


上面文件中的install.rdf、chrome.manifest基本上用例子中的就好了,dtd文件里面是界面文字,这个可以模仿其他插件编写。
overlay.xul我准备添加一段代码,用来在FF工具栏上添加一个按钮。skin下面的png是准备在工具栏上添加的按钮的图标。

OK,把上面整个目录用zip打个包,改后缀名为xpi,拖放到FF3中,提示尚未验证作者、是否继续安装。这个先不管它,以后再研究。安装以后,重启FF3,哈哈,写的第一个Extension成功安装了!只不过overlay.xul里面什么都没写,所以还没有视觉上的成就感。下面开始添加overlay.xul中的代码。

怎么在工具栏上添加按钮呢?感谢Mozilla提供的文档,专门有一篇文章是讲这个地:https://developer.mozilla.org/en/Creating_toolbar_buttons。文章里面讲的非常清楚,我这里就不废话了。不过有两点需要注意一下:
1、样式表中的ID和toolbarbutton的id一定要保持一致;
2、按钮的label和tooltiptext可以直接添加文字,但如果使用了中文,有可能会显示乱码(至少在我的FF3上是这样);
3、按钮的图标一定要大小两种(24x24、16x16)都提供;
4、label和tooltiptext可以使用dtd中定义的文字,但必须注意:dtd文件必须存为UTF-8编码,否则会导致按钮显示不出来!

在FF3的定制工具栏中,有图标,但下方没有文字,好像是我哪里忘记添加文字了,一会儿看看去……

好了,我的第一个FF插件就写好了,不过现在只是在工具栏上添加了一个按钮而已,什么事情都没做,下一次我们添加一些行为给它。

以下附上几个关键文件的内容:

一、install.rdf


<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>{859606AC-AFFE-4691-82C5-FA0148A7E2D4}</em:id>
<em:version>1.0</em:version>
<em:type>2</em:type>
<em:name>MeetMePlus</em:name>
<em:description>Anywhere, anytime to starting a conferencing</em:description>
<em:creator>G-NET</em:creator>
<em:iconURL>chrome://meetmeplus/skin/gnet_32.png</em:iconURL>
<em:homepageURL>http://www.meetmeplus.com/</em:homepageURL>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.5</em:minVersion>
<em:maxVersion>3.0.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>

二、chrome.manifest

overlay chrome://browser/content/browser.xul chrome://meetmeplus/content/overlay.xul
content meetmeplus chrome/content/
style chrome://global/content/customizeToolbar.xul chrome://meetmeplus/skin/default.css
skin meetmeplus classic/1.0 chrome/skin/classic/
locale meetmeplus zh-CN chrome/locale/zh-CN/

三、overlay.xul

<?xml version="1.0"?>
<!DOCTYPE overlay SYSTEM "chrome://meetmeplus/locale/overlay.dtd">
<?xml-stylesheet href="chrome://meetmeplus/skin/default.css" type="text/css"?>

<overlay id="mmp-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- Firefox toolbar -->
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="meetmeplus-button" type="menu-button"
class="toolbarbutton-1 chromeclass-toolbar-additional">
<menupopup>
<menuitem label="&mmp.gotohome;" tooltiptext="&mmp.gotohome.tooltip;" image="chrome://meetmeplus/skin/option_16.png" class="menuitem-iconic"/>
<menuseparator/>
<menuitem label="&mmp.option;" tooltiptext="&mmp.option.tooltip;" image="chrome://meetmeplus/skin/option_16.png" class="menuitem-iconic"/>
</menupopup>
</toolbarbutton>
</toolbarpalette>
</overlay>

四、overlay.dtd

<!ENTITY mmp.gotohome "访问G-NET MeetMePlus">
<!ENTITY mmp.gotohome.tooltip "访问G-NET MeetMePlus网站">
<!ENTITY mmp.option "选项">
<!ENTITY mmp.option.tooltip "自定义G-NET MeetMePlus的工作方式">

分享到:
评论

相关推荐

    我的Firefox插件开发之旅——从零开始

    作者开始时对于Firefox插件开发一无所知,因此在网上搜索相关资料,并找到了一个FF扩展的生成向导,但生成的扩展包提示为错误的安装包。作者通过研究发现,Firefox的扩展和插件是两种不同的概念,扩展是一种zip包,...

    火狐浏览器51版——64bit.rar

    3. **插件支持**:火狐51版的一个显著特点是其对NPAPI插件的支持,尽管这些插件在新版本的火狐中逐渐被移除。这使得用户可以继续使用像Java、Silverlight等老插件,满足了一些特定的需求。 4. **自定义和扩展**:...

    Firefox火狐浏览器官方3.5 RC 1-win32版本exe安装包

    标题中的“Firefox火狐浏览器官方3.5 RC 1-win32版本exe安装包”指的是Mozilla Firefox浏览器的一个特定版本——3.5 Release Candidate (RC) 1,该版本是为Windows 32位操作系统设计的可执行安装程序。在软件开发中...

    Firefox火狐浏览器官方72.0.2-win32版本exe安装包

    Firefox火狐浏览器是一款全球知名的开源网络浏览器,以其强大的安全性和高度的可定制性深受用户喜爱。72.0.2-win32版本是专为Windows 32位操作系统设计的官方版本,它提供了稳定、高效的浏览体验。在这个版本中,...

    Firefox火狐浏览器官方78.5.0esr-win32版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。78.5.0esr(Extended Support Release)版本是针对企业用户特别设计的,它提供了更长期的...

    Firefox火狐浏览器官方78.6.0esr-mac版本pkg安装包

    火狐浏览器(Firefox)是Mozilla公司开发的一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和可定制性而受到全球用户的广泛欢迎。在提供的压缩包文件“Firefox 78.6.0esr.pkg”中,我们获取的是Firefox的一...

    Firefox(火狐浏览器)

    总的来说,Firefox火狐浏览器凭借其强大的安全特性、个性化定制选项、优秀的性能表现和对用户隐私的关注,成为了许多用户首选的网络浏览器。通过不断的更新和完善,Firefox始终致力于提供一个安全、快速且个性化的...

    Firefox火狐浏览器官方33.0b3-win32版本exe安装包

    《Firefox火狐浏览器33.0b3-win32版本:深入解析与使用指南》 Firefox,这款由Mozilla基金会开发的开源网络浏览器,以其强大的安全性能、高度的自定义性和跨平台兼容性,在全球范围内拥有大量的忠实用户。本文将...

    firefox扩展(3.6)

    Firefox扩展是Mozilla Firefox浏览器的一种功能增强方式,它们是由开发者创建的第三方软件组件,可以增加浏览器的功能,改善用户体验,或者提供特定的服务。在本话题中,我们聚焦于Firefox 3.6版本的扩展。 Firefox...

    目前最安全的浏览器——火狐

    标题中的“目前最安全的浏览器——火狐”指的是Mozilla Firefox,这是一款开源、免费的网络浏览器,以其强大的安全性和隐私保护而备受推崇。火狐浏览器致力于提供用户一个更安全的上网环境,它拥有多种内置的安全...

    firefox plugin

    标题中的“Firefox Plugin”指的是Firefox浏览器的扩展程序或插件,它们是用于增强浏览器功能的小型软件组件。Firefox插件可以提供各种服务,如广告拦截、网页翻译、隐私保护等,用户可以根据自己的需求安装和卸载。...

    Firefox火狐浏览器官方63.0b3-win32版本exe在线安装包

    《Firefox火狐浏览器63.0b3-win32版本:深入解析与使用指南》 Firefox,又称为火狐浏览器,是由Mozilla基金会开发的一款开源、免费的网络浏览器,以其强大的功能、良好的隐私保护以及对Web标准的出色支持而受到全球...

    Firefox火狐浏览器官方6.0b3-mac版本dmg安装包

    标题中的“Firefox火狐浏览器官方6.0b3-mac版本dmg安装包”表明了这是一个针对Mac操作系统设计的Firefox浏览器早期版本——6.0b3的安装程序。Firefox是由Mozilla公司开发的一款开源网络浏览器,它以其开源、安全、可...

    Mozlia FireFox Internet Brower

    火狐浏览器(Firefox)是由Mozilla开发的一款开源网络浏览器,它以其强大的安全性、隐私保护和高度定制性而闻名。"Mozlia FireFox Internet Brower"标题中的"Mozlia"可能是"Mozilla"的拼写错误,这表明我们讨论的是...

    Firefox火狐浏览器官方84.0b4-mac版本dmg安装包

    Firefox火狐浏览器是一款深受全球用户喜爱的开源网络浏览器,它以其强大的安全性、隐私保护和高度定制性而闻名。在这个特定的版本——84.0b4-mac,我们看到的是针对Mac OS系统的优化版本,这表明它专为苹果电脑用户...

    Firefox火狐浏览器官方93.0b3-win32版本exe在线安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款全球知名的开源网络浏览器。它以其强大的功能、高度的可定制性以及对用户隐私的重视而受到广大用户的喜爱。在本文中,我们将深入探讨最新版本——Firefox 93.0b3-win...

    Firefox火狐浏览器官方Setup 90.0b11-win64版本msi安装包

    标题中的“Firefox火狐浏览器官方Setup 90.0b11-win64版本msi安装包”指的是一款由Mozilla公司开发的网络浏览器——Firefox的特定版本。这个版本是90.0b11,这是一个针对Windows 64位操作系统的安装程序,使用的...

    Firefox火狐浏览器官方78.6.1esr-win32版本msi安装包

    《Firefox火狐浏览器78.6.1esr-win32版本msi安装包详解》 Firefox火狐浏览器,作为一款开源、免费的网络浏览器,以其强大的安全性、隐私保护及高度自定义性深受用户喜爱。78.6.1esr版本是针对Windows 32位操作系统...

    Firefox火狐浏览器官方38.0.5b3-win32版本exe在线安装包

    标题中的“Firefox火狐浏览器官方38.0.5b3-win32版本exe在线安装包”表明我们讨论的是Mozilla Firefox浏览器的一个特定版本——38.0.5b3,这是针对Windows 32位系统的。"在线安装包"意味着这个文件是设计用来通过...

    Firefox火狐浏览器官方49.0.2-win32版本exe在线安装包

    总的来说,Firefox火狐浏览器49.0.2-win32版本为Windows 32位用户提供了一个高效、安全、可定制的网络浏览环境。无论是从安装过程,还是实际使用体验,Firefox都展现出了其优秀的品质和对用户需求的敏锐洞察。对于...

Global site tag (gtag.js) - Google Analytics