برنامه نویسی فایرفاکس قسمت 3

30 07 2008

قبل از شروع:
برنامه نويسي فايرفاکس قسمت 0
برنامه نويسي فايرفاکس قسمت 1
برنامه نويسي فايرفاکس قسمت 2
در ابتدا لازم مي دانم به خاطر تاخيري که در آپديت اين قسمت رخ داد از تمام کساني که اين سري از آموزش هاي برنامه نويسي فايرفاکس را دنبال مي کردند عذر خواهي کنم.
در اين قسمت به دو مورد مي رسيم. اول از همه تگ در XUL که از مهمترين تگ ها به حساب مي آيد و بعد هم مي رويم سراغ بکارگيري جاوااسکريپت براي اکشن دادن به اينترفيس هايي که طراحي کرده ايم.
<overlay>
از اين تگ در مواردي استفاده مي کنيم که قصد داشته باشيم به قابليت هاي يک فايل XUL موجود اضافه کنيم. براي درک بهتر مثالي مي زنم. فرض کنيد مي خواهيد به مرورگر فايرفاکس تان کليد يا منو اضافه کنيد براي اين کار به سراغ استفاده از اين تگ مي رويم.
الان با هم فايل XUL مي نويسيم که يک منوي ديگر به راست کليک در صفحه اضافه کند(در ادامه قصد داريم از اين منو استفاده کنيم.) گفتيم که <overlay> براي اضافه کردن يک قابليت جديد استفاده مي شود. اما الان براي کارمان بايد منو را به کدام فايل XUL اضافه کنيم. پاسخ فايل Browser.xul است. اين فايل در واقع اينترفيس مرورگر فاير فاکس تان است. براي پيدا کردن اين فايل به دايرکتوري که فايرفاکس را در آن نصب کرده ايد برويد سپس در فولدر chrome فايل browser.jar را با نرم افزاري مشابه winzip از حالت فشرده خارج کنيد. حالا مي توانيد اين فايل را به اين آدرس بيابيد: Content\Browser\Browser.xul اگر اين فايل را با يک نمايش دهنده ي فايل هاي XUL مثل XUL Viewer افزونه Extension Developer که در قسمت 0 معرفي کرديم و حتي با خود فايرفاکس تان باز کنيد ظاهر مرورگر را بدون هيچ اکشني مي توانيد ببيند.
به برنامه ي خودمان برميگرديم. برنامه زير منو URL Picker… را به منو راست کليک اضافه مي کند.

<?xml version="1.0"?>
<overlay id="linkhandler_overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<popup id="contentAreaContextMenu">
<menuitem id="linkHandlerMenu" label="URL Picker..." />
</popup> 

</overlay>

فقط بايد دقت کنيد <”popup id=”contentAreaContextMenu”> همان تگ بکار رفته در فايل Browser.xul است که براي تعريف منو هاي راست کليک استفاده مي شود.
اجازه بدهيد به اين منوي اضافه شده اکشن هم بدهيم. قبلا هم گفتيم که براي اکشن دادن از جاوااسکريپت استفاده مي شود. به همان شکلي که در HTML فايل خارجي جاوااسکريپ را مشخص مي کنيم اين جا نيز به همان ترتيب عمل مي کنيم. از اينجا تقريبا مشابه کار HTML با جاواسکريپت است.

<script type="application/x-javascript"
src="chrome://linkhandler/content/browser_overlay.js" />

و menuitem را با خط زير جايگزين مي کنيم.

<menuitem id="linkHandlerMenu" label="URL Picker..."
      oncommand="newMessage(gContextMenu.linkURL);"/>

نوبت به نوشتن فايل جاوااسکريپت ميرسد. در همان فولدري که فايل XUL را ساخته ايم browser_overlay.js را هم ايجاد مي کنيم. و درون آن متن زير را کپي مي کنيم.

function newMessage(url){
	alert(url);
}

فايل ها را به همان روشي که در قسمت هاي قبلي شرحش آمد آمد بسته بندي کرده و براي افزودن به فايرفاکس آماده مي کنيم.
اين افزونه را مي توانيد از (اينجا) دانلود کنيد.
در قسمت نظرات پاسخگوي سؤالات احتمالي شما هستم.


کارها

اطلاعات

6 جواب

31 07 2008
raghu

mersi,khili khoob bood

1 08 2008
hossein

salam ehsan jan
matlabet kheili aali bud makhsusan chon dar mored firefox bud
movafah bashi

2 08 2008
peyman

سلام از مطلب فوق خیلی استفاده کردم درباره فایر فاکس بیشتر بنویس

27 09 2008
سیمین

ممنون مطالبتون برام خیلی مفید بود. میشه dll با فایر فاکس رابطه داشته باشه؟

4 12 2008
علی

سلام داش احسان ترکوندی ( فقط برنامه نویسی فخ فخی )
داش مشترکیدمت .
فقط یه چی بگم که حساب کار دستت بیاد به بچه ها سپردم اگه بیخیال این دسته بشی حسابی حالتو جا بیارن یعنی باس تا آخرش بری
ولی در کل شدیدا میخوامت.

انجمن برنامه نویسان جواد بخش مبارزه با ول نوشتها

13 10 2009
حسین

سلام
کارت عالیه
لطفآ این بخش رو سریعتر آپ کن نمیدونی روزی 20 بار مییام اینجا تا مطلب جدیدی از اکتنشن نویسی یادبگیرم

دیدگاه‌تان را بنویسید: