firefox扩展插件制作方法
ZDNET网络频道时间:2008-07-24作者:巧巧读书 | 巧巧读书
本文关键词:火狐火狐浏览器Firefox
首先第一步 说一下怎么样查看Firefox插件的源码, 就我上边写的那个东西,把它下载下来.将它的扩展名改为zip并解压。会得到一个blueideaserach的文件夹, 这个文件夹中便是我做的这个插件的源码
这个目录中除了 chrome目录chrome.manifest install.rdf这三个以外都不是必须的。
chrome.manifest这个文件中是对所有文件的一个列表.
install.rdf这个是安装信息的描述.
chrome目录中放的是主程序.
这个整个目录结构是这样的.
blueideasearch-----
--------chrome
-----content
--overlay.xul
--overlay.js
--------chrome.manifest
---------install.rdf
也就是说 只要按这个目录结构建好.并压缩成zip包 改名为xpi它便可以在Firefox中安装了.
overlay.xul 文件中是对插件的人UI描述。
overlay.js是程序的处理部分。
下边这个代码是install.rdf中的,他是安装信息描述。
<?xml version=\"1.0\"?>
1.0
2
with minimum and maximum supported versions.-->
1.52.0.0.*
blueidea searchblueidea yaba
http://bbs.blueidea.com/chrome://blueideasearch/content/logo.gif
http:/// chrome://blueideasearch/content/logo.gif http:///这个网站..它里有XUL详细介绍。把它理解成一种HTML就可以了.他的语法标记十分简单易懂。
id=\"home-button\"
label=\"
cla=\"toolbarbutton-1
主
页
\"
chromecla-toolbar-additional\"
家
可
以
在
FF
的
地
址
栏
输
入
以
下
地
址
chrome://browser/content/browser.xul来看一下 FF的本身自己的UI的描
ondragover=\"nsDragAndDrop.dragOver(event, homeButtonObserver);\" ondragdrop=\"nsDragAndDrop.drop(event, ondragexit=\"nsDragAndDrop.dragExit(event, onclick=\"BrowserHomeClick(event);\"/> 这对FF上对 \"主页\" 这个按钮的描述。
autocompletesearch=\"history\"
autocompletepopup=\"PopupAutoComplete\"
homeButtonObserver);\" homeButtonObserver);\"
completeselectedindex=\"true\" showcommentcolumn=\"true\" oninput=\"gBrowser.userTypedValue ontextentered=\"return ontextreverted=\"return id=\"page-proxy-deck\"
onclick=\"PageProxyClickHandler(event);\">
=
tabscrolling=\"true\" enablehistory=\"true\"
this.value\"
handleURLBarCommand(param);\" handleURLBarRevert();\">
ondraggesture=\"PageProxyDragGesture(event);\" tooltiptext=\"拖放此图标以创建到此页面的链接\"/>
ondraggesture=\"PageProxyDragGesture(event);\"
=
event.stopPropagation();\"
onload=\"this.parentNode.selectedIndex
onerror=\"gBrowser.addToMiedIconCache(this.src);this.removeAttribute(\'src\');this.parentNode.selectedIndex = 0;\" tooltiptext=\"拖放此图标以创建到此页面的链接\"/>
FeedHandler.onFeedButtonClick(event);\">
FeedHandler.buildFeedList(this);\" FeedHandler.subscribeToFeed(null, onclick=\"checkForMiddleClick(this, (event.button
==
0)
onpopupshowing=\"return
oncommand=\"return
event);\"
event);\"/>
displaySecurityInfo();
id=\"safebrowsing-urlbar-icon\"
id=\"urlbar-icons\">
cla=\"plain\"
type=\"menu\" id=\"feed-button\" onclick=\"return
tooltiptext=\"显示此窗口的安全性信息\" id=\"lock-icon\" onclick=\"if event.stopPropagation();\"/>
tooltiptext=\"此页面可能具有危险性;点击查看详细信息。\" level=\"safe\" onclick=\"goDoCommand(\'safebrowsing-show-warning\')\"/>
这是对FF“地址栏”描述 大家看是不是特别像HTML.我们开始写插件的UI吧 。。
打开chromecontentoverlay.xul 文件.<?xml version=\"1.0\"?>
id=\"bisearch\"
xmlns=\"http://\');\">
这个代码呢..是在下追加一个子节点 toolbarbutton 是一个按钮oncommand是它的一个事件,当按下它时触发这个事件.里边的响应的函数就在我们一开始引入的那个JS里./**
* 在当前窗口中打开链接。 */
function GotoWebSite(url){
loadURI(url)
id=\"bisearch\"
xmlns=\"http://www.daodoc.com/keymaster/gatekeeper/there.is.only.xul\">
}