论坛's Archiver

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: &#39;Hello, world&#33;&#39;, // The name displayed to the user (don&#39;t include the version)<br />extShortName: &#39;helloworld&#39;, // The leafname of the JAR file (without the .jar part)<br />extVersion: &#39;0.1&#39;,<br />extAuthor: &#39;Eric Hamiter&#39;,<br />extLocaleNames: null, // e.g. [&#39;en-US&#39;, &#39;en-GB&#39;]<br />extSkinNames: null, // e.g. [&#39;classic&#39;, &#39;modern&#39;]<br />extPostInstallMessage: &#39;Success&#33; Please restart your browser to finish the installation.&#39;<br />// Set to null for no post-install message<br />// --- Editable items end ---<br /><br />具体含义可参考注释。<br /><br />然后打开install.rdf,会看到以下<br />&lt;?xml version=&quot;1.0&quot;?&gt;<br /><br />&lt;RDF xmlns=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;<br />xmlns:em=&quot;http://www.mozilla.org/2004/em-rdf#&quot;&gt;<br /><br />    &lt;Description about=&quot;urn:mozilla:install-manifest&quot;&gt;<br /><br />        &lt;em:id&gt;{9AA46F4F-4DC7-4c06-97AF-5035170633FE}&lt;/em:id&gt;<br />        &lt;em:name&gt;Hello, world&#33;&lt;/em:name&gt;<br />        &lt;em:version&gt;0.1&lt;/em:version&gt;<br />        &lt;em:description&gt;Displays an alert message via right-click<br />        or Tools menu.&lt;/em:description&gt;<br />        &lt;em:creator&gt;Eric Hamiter&lt;/em:creator&gt;<br />        &lt;em:homepageURL&gt;http://extensions.roachfiend.com&lt;/em:homepageURL&gt;<br />        &lt;em:iconURL&gt;chrome://helloworld/skin/helloworld.png&lt;/em:iconURL&gt;<br />        &lt;em:aboutURL&gt;chrome://helloworld/content/about.xul&lt;/em:aboutURL&gt;<br />        &lt;em:file&gt;<br />            &lt;Description about=&quot;urn:mozilla:extension:file:helloworld.jar&quot;&gt;<br />                &lt;em:package&gt;content/helloworld/&lt;/em:package&gt;<br />                &lt;em:skin&gt;skin/classic/helloworld/&lt;/em:skin&gt;<br />            &lt;/Description&gt;<br />        &lt;/em:file&gt;<br /><br />        &lt;em:targetApplication&gt;<br />            &lt;Description&gt;<br />                &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;<br />                &lt;em:minVersion&gt;0.7&lt;/em:minVersion&gt;<br />                &lt;em:maxVersion&gt;0.9+&lt;/em:maxVersion&gt;<br />            &lt;/Description&gt;<br />        &lt;/em:targetApplication&gt;<br /><br />    &lt;/Description&gt;<br /><br />&lt;/RDF&gt;<br /><br />这里,我们需要修改&lt;em:id&gt;{9AA46F4F-4DC7-4c06-97AF-5035170633FE}&lt;/em:id&gt;,用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]

© 2004-2009 Mozest.com