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

فرستاده شده: ژوئیه 30, 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);
}

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

Advertisements
دیدگاه‌ها
  1. raghu می‌گوید:

    mersi,khili khoob bood

  2. hossein می‌گوید:

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

  3. peyman می‌گوید:

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

  4. سیمین می‌گوید:

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

  5. علی می‌گوید:

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

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

  6. حسین می‌گوید:

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

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s