همانطور که در قسمت قبل نيز گفتيم هر فايل XPI از چند فايل و فولدر تشکيل شده است. در زير نمودار فايل ها و فولدر هاي ضروري براي يک افزونه ي ساده مي بينيد:
<ext path>\
install.rdf
chrome. manifest
chrome\
content\
از فايل install.rdf براي فراهم آوردن اطلاعات کلي در مورد افزونه ي فايرفاکس در هنگام نصب استفاده مي شود. اين فايل شامل متا ديتايي است که افزونه را معرفي مي کند و اطلاعاتي در مورد ايجاد آن مي دهد. بياييد براي اولين اکستنشن خود 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>ehsan.shariaty@gmail.com</em:id>
<em:version>1.0</em:version>
<em:type>2</em:type>
<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>
<em:name>IT Start</em:name>
<em:description>ITStart Firefox Extension Tutorials</em:description>
<em:creator>Ehsan Shariaty</em:creator>
<em:homepageURL>http://itstart.wordpress.com</em:homepageURL>
</Description>
</RDF>
محتويات بالا را در فايلي با نام install.rdf ذخيره کنيد.توضيح بخش اول:
id: اين مقدار منحصر به فرد افزونه ي شما را معرفي مي کند. براي سادگي کار و به طور معمول براي اين قسمت آدرس ايميل استفاده مي کنند تا مطمئن شوند که اين مقدار در افزونه ي ديگري استفاده نشده است.
version: در اين بخش نسخه ي افزونه تان را تعيين مي کند در اين جا ما نسخه ي افزونه مان را 1.0 مي ناميم هر چند معمول آن است که نسخه ي نرم افزار ها را با شماره هاي زير 1.0 شماره مي دهند.
type: اين مقدار صحيح نوع addon که نصب مي شود را مشخص مي کند. هميشه اين مقدار براي افزونه ها 2 است.
توضيح بخش دوم:
<em:id> اين بخش تعيين مي کند که افزونه ما براي کدام نرم افزار نوشته شده است.چون در اينجا افزونه ما تنها براي فايرفاکس است اين مقدار GUID هميشه برابر مقدار ثابت {ec8030f7-c20a-464f-9b0e-13a3a9e97384} مي باشد.
<em:minVersion> و <em:maxVersion> در اين دو خط به سادگي به فايرفاکس مي گويد که اين افزونه براي کدامين نسخه ها نوشته شده و تنها در اين بازه نصب شود. ما اين جا تعيين کرده ايم که افزونه مان بر روي نسخه هاي ما بين 1.5 تا 3.0 نصب شود.
توضيح قسمت سوم:
name: اين قسمت نام افزونه را مشخص مي کند. اين نام در رابط گرافيکي فايرفاکس استفاده خواهد شد.
description: توضيحي درباره ي کارايي افزونه در اين بخش قرار مي گيرد. اين توضيح نيز در رابط گرافيکي فايرفاکس براي توصيف آن استفاده مي شود.
creator: نام ايجاد کننده ي افزونه در اين بخش قرار مي گيرد. ايجاد کننده ي اين افزونه Ehsan Shariaty است.
homepageURL: اگر افزونه url دارد در اين بخش بايد قرار گيد.بعد از ايجاد و ذخيره ي install.rdf نوبت به chrome.manifest مي رسد. اين فايل را ايجاد و دو خط زير را به آن بيافزائيد.
content sample chrome/content/
overlay chrome://browser/content/browser.xul chrome://sample/content/sample.xul
اين دو خط به فايرفاکس مي گويد که محتويات اين افزونه کجاست و از کجا بايد آن ها را اجرا کنيد.
حال مي رسيم به محتواي اصلي اولين افزونه مان يعني فايل sample.xul که در مسير chrome/content/ قرار گرفته است. فايل را باز کنيد و برنامه زير را به آن اضافه کنيد:
<?xml version="1.0"?>
<overlay id="sample"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<statusbar id="status-bar">
<statusbarpanel id="my-panel" label="Hello,FIREFOX and hTTp://iTsTaRt.WoRdPrEsS.cOm"/>
</statusbar>
</overlay>
اين بخش اصلي افزونه ي ما است که به زبان XUL نوشته شده است. در قسمت اول xmlns مقدار ثابتي هست که در تمامي افزونه ها به وجود دارد و آن را namespace افزونه هاي فايرفاکس مي نامند. در بخش مياني نيز به فايرفاکس مي گويد که در در نوار وضعيت عبارت Hello,FIREFOX and hTTp://iTsTaRt.WoRdPrEsS.cOm را چاپ کن.
در اين جا کار ساخت اولين افزونه به پايان رسيد اين فايل و فولدر ها را با ZIP فشرده کرده و سپس پسوند فايل ايجاد شده را به XPI تغيير دهيد.
خسته نباشيد کار ايجاد اويلين افزونه تان به پايان رسيد آن را در فارفاکستان بکشيد تانصب گردد. اين افزونه را از (اينجا) دانلود کنيد.
در ادامه به آموختن XUL خواهيم پرداخت.
| دنبال کار می گردم: (دانشجوی سال آخر رشته ی IT)
طراحی سایت: (PHP, MySQL) و (ASP.NET, SQL Server) و HTML و CSS و … برنامه نویسی: VB.NET پست الکترونیکی: ehsan.shariaty@gmail.comپیامرسان یاهو: ehsan_shariaty |


خیلی ممنون، برای قسمت اول خوب بود
امیدوارم بیشتر در مورد XUL و XPCOM و کار کردن ابزارهای مفیدتر، مثل کار کردن با کلیپبورد و پایگاهداده و ابزارهای خارجی دیگه توضیح بنویسید
باز هم ممنون.
و در پایان:
ویندوز؟ کیبورد عربی؟ نگارش مورد دار و بدون استفاده از نیمفاصله؟!!
واقعا عالي بود. من هم موافقم که حتما براي مثالهاي بعدي کار کردن با ديتابيس هم توضيح داده شود که بسيار ضروري و لازم است. پيگير نوشته هاي شما با RSS هستم و منتظر قسمتهاي بعدي
عالی بود، ممنون
امید وارم ادامه دار باشه، حمایت میکنم شدید !!!
[...] 24 07 2008 قبل از شروع: برنامه نویسی فایرفاکس قسمت 0 برنامه نویسی فایرفاکس قسمت 1 همانطور که قول داده بودیم الان نوبت به آموزش XUL می رسد، [...]