hogan 发表于 2005-8-22 16:37
让我们从修改一个Hello World 插件开始进入Mozilla插件开发之门吧。<br /><br />这个插件会在右键菜单和Tools下面建立一个Hello World的命令,单机这个命令会弹出Hello World 的警告框。<br />右健:<br /><!--UserPostedImage--><div class='bbimg'><img src="http://extensions.roachfiend.com/rightclick.png" border="0" class="linked-image" /></div><!--UserPostedImage--><br />工具菜单:<br /><!--UserPostedImage--><div class='bbimg'><img src="http://extensions.roachfiend.com/tools.png" border="0" class="linked-image" /></div><!--UserPostedImage--><br /><br />screen shot:<br /><br /><!--UserPostedImage--><div class='bbimg'><img src="http://extensions.roachfiend.com/alert.png" border="0" class="linked-image" /></div><!--UserPostedImage--><br /><!--UserPostedImage--><div class='bbimg'><img src="http://extensions.roachfiend.com/extensions.png" border="0" class="linked-image" /></div><!--UserPostedImage--><br /><!--UserPostedImage--><div class='bbimg'><img src="http://extensions.roachfiend.com/about.png" border="0" class="linked-image" /></div><!--UserPostedImage--><br />首先,<a href="http://extensions.roachfiend.com/helloworld.xpi" target="_blank">下载,保存</a>这个插件。Mozilla插件都是以.xpi结尾的文件,实际是zip压缩的文件。为了方便开发,下载<a href="http://www.7-zip.org/" target="_blank">7Zip</a>.<br />打开插件后会看到:<br /><br /> * chrome<br /> * install.js<br /> * install.rdf<br />首先,用记事本打开install.js, 会看到如下内容:<br />// --- Editable items begin ---<br />extFullName: 'Hello, world!', // The name displayed to the user (don't include the version)<br />extShortName: 'helloworld', // The leafname of the JAR file (without the .jar part)<br />extVersion: '0.1',<br />extAuthor: 'Eric Hamiter',<br />extLocaleNames: null, // e.g. ['en-US', 'en-GB']<br />extSkinNames: null, // e.g. ['classic', 'modern']<br />extPostInstallMessage: 'Success! Please restart your browser to finish the installation.'<br />// Set to null for no post-install message<br />// --- Editable items end ---<br /><br />具体含义可参考注释。<br /><br />然后打开install.rdf,会看到以下<br /><?xml version="1.0"?><br /><br /><RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"<br />xmlns:em="http://www.mozilla.org/2004/em-rdf#"><br /><br /> <Description about="urn:mozilla:install-manifest"><br /><br /> <em:id>{9AA46F4F-4DC7-4c06-97AF-5035170633FE}</em:id><br /> <em:name>Hello, world!</em:name><br /> <em:version>0.1</em:version><br /> <em:description>Displays an alert message via right-click<br /> or Tools menu.</em:description><br /> <em:creator>Eric Hamiter</em:creator><br /> <em:homepageURL>http://extensions.roachfiend.com</em:homepageURL><br /> <em:iconURL>chrome://helloworld/skin/helloworld.png</em:iconURL><br /> <em:aboutURL>chrome://helloworld/content/about.xul</em:aboutURL><br /> <em:file><br /> <Description about="urn:mozilla:extension:file:helloworld.jar"><br /> <em:package>content/helloworld/</em:package><br /> <em:skin>skin/classic/helloworld/</em:skin><br /> </Description><br /> </em:file><br /><br /> <em:targetApplication><br /> <Description><br /> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id><br /> <em:minVersion>0.7</em:minVersion><br /> <em:maxVersion>0.9+</em:maxVersion><br /> </Description><br /> </em:targetApplication><br /><br /> </Description><br /><br /></RDF><br /><br />这里,我们需要修改<em:id>{9AA46F4F-4DC7-4c06-97AF-5035170633FE}</em:id>,用VC提供的guidgen产生一个新的GUID,然后替换{}内的内容。<br /><br />打开chrome文件夹,会发现helloworld.js(zip压缩),展开后又conten和skin两个文件夹。content里面包含<br /> * about.xul<br /> * contents.rdf<br /> * helloworldOverlay.js<br /> * helloworldOverlay.xul<br /><br />about.xul是about对话框的控件布局文件,helloworldoverlay.xul设置了右健菜单和tools工具栏里面的hello world命令。 hellowroldoverlay.js实现了hello函数。<br /><br />skin里面包含了控件所需的icon。<br /><br />大家可以尝试把about.xul,install.js,install.rdf里面和author有关的内容修改一下,然后再重新zip压缩。看看效果。
页:
[1]