المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : أوقات الآذان ملحق لفايرفوكس



said
11-01-2013, بتوقيت غرينيتش 12:29 AM
http://www.dzbatna.com/images/icons/smile.gif ط£ظˆظ‚ط§طھ ط§ظ„ط¢ط°ط§ظ† ظ…ظ„ط*ظ‚ ظ„ظپط§ظٹط±ظپظˆظƒط³ (http://www.dzbatna.com/t332543/)



لا يخفى لدي الجميع اهمية معرفة وقت الصلوات في هذه الوقت الذي يمر بسرعة بدون ان تشعر.
قام احد المهتمين بوضع ملحق لاوقات الآذان يقوم هذه الملحق بتنبيهك بوقت الصلاه وذلك بعد ان تحدد مدينتك على خرائط قوقل google وسوف يتعرف على وقت الصلاه في منطقتك من خلال موقع www.praytime.info (http://www.praytime.info) وهذا موقع الشخص الذي قام ببناء الملحق
http://www.cs.uwaterloo.ca/~hzarrabi/
الملحق
https://addons.mozilla.org/firefox/4270/


درس مفصل لكفية بناء ملحق ارجو ان يستفيد منه البعض ونرى برامج خدمية تخدمنا , فلا اعتقد ان غير مسلم سيقدم ملحق لحساب الزكاه او اذكار او احدايث .

الملحقات: هي إضافات صغيرة تضيف وظائف جديدة إلى تطبيقات موزلا مثل فايرفوكس وثندربيرد, تستطيع إضافة أو تعديل أي شيء من شريط الأدوات أو شريط الحالة أو قوائم المتصفح بشكل كامل كميزة جديدة, في درس مفصلنا هذا سوف نتطرق إلى الخطوات الازمة لبناء ملحق بسيط يضيف صورة الى شريط الحالة وعند الضغط عليها يعرض لنا رساله "أهلا بك", مع ملاحظة أن هذه الدرس مفصل حول بناء ملحق لـ فايرفوكس 1.5 .
الملحق يتم تجميعة في ملف مضغوط ينتهي بهذه الاحرف xpi التى تنطق "زيبي" ويكون تخطيط الملفات داخل الملف xpi بهذه الشكل:
رمز PHP:

<code style="white-space:nowrap"> <code> extension.xpi:
/install.rdf //يحتوي بينات التركيب install
/chrome.manifest //يحتوي على بينات تحديد المجلدات
/chrome/
/chrome/chromeFiles
/chrome/chromeFiles/content/ //الجافا وملفات xul يوضع هنا جميع ملفات الملحق
/chrome/chromeFiles/locale/ //ملفات اللغة
/chrome/chromeFiles/skin/ //الصور وملفات الأنماط css
</code> </code>


هذه هي الشجره الكاملة لبناء الملحقات, الان بقي علينا التعرف على هذه الملفات وكيفة كتابة الكود code , عليك الان انشاء هذه المجلدات والملفات بالشكل السابق في مجلد خاص بها لنفرض انك سميته

رمز PHP:

<code style="white-space:nowrap"> <code> C:\extensions\myExtension\
أو
~/extensions/myExtension/
</code> </code>

إفتح الملف install.rdf سيكون داخل المجلد myExtension مباشرة وضع فيه هذه المحتويات

رمز PHP:

<code style="white-space:nowrap"> <code> <?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#">

<De******ion about="urn:mozilla:install-manifest">
<em:id>[email protected] (http://www.cloudflare.com/email-protection)</em:id>
<em:version>1.0</em:version>
<em:type>2</em:type>
<em:targetApplication>
<De******ion>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.0+</em:minVersion>
<em:maxVersion>1.5.0.*</em:maxVersion>
</De******ion>
</em:targetApplication>
<em:name>أهلا بالعالم</em:name>
<em:de******ion>تجربة إنشاء ملحق</em:de******ion>
<em:creator>ضيف الله العتيبي</em:creator>
<em:homepageURL>http://www.daif.net/</em:homepageURL>
<em:iconURL>chrome://helloworld/content/helloworld.png</em:iconURL>
</De******ion>
</RDF> </code> </code>

هذه هو شرح طريقة للملف السابق , ما يجب تغييره مكتوب بالخط العريض

رمز PHP:

<code style="white-space:nowrap"> <code> <em:id>helloworld@daif.net</em:id>
</code> </code>

- معرف فريد للملحق يميزه عن غيره, على صيغة بريد الكتروني(لا يجب ان يكون بريدك الاكتروني) تأكد من انه فريد , يمكن ان يكون اسم الملحق بالاضافة الى موقعك




رمز PHP:

<code style="white-space:nowrap"> <code> <em:type>2</em:type>
</code> </code>

- يرمز الى نوع البريمج: قالب template-ملحق-اضافة, القيمة لدينا الان 2 الذي تعني ملحق

رمز PHP:

<code style="white-space:nowrap"> <code> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
</code> </code>

- رقم تعريف فايرفوكس, تعنى ان هذه التطبيق للفايرفوكس

رمز PHP:

<code style="white-space:nowrap"> <code> <em:minVersion>1.0+</em:minVersion>
</code> </code>

- أقل نسخة من فايرفوكس يمكن ان يعمل عليها الملحق

رمز PHP:

<code style="white-space:nowrap"> <code> <em:maxVersion>1.5.0.1</em:maxVersion>
</code> </code>

- أعلى نسخة من فايرفوكس يمكن ان يعمل عليها الملحق

رمز PHP:

<code style="white-space:nowrap"> <code> <em:name>أهلا بالعالم</em:name>
</code> </code>

- اسم الملحق

رمز PHP:

<code style="white-space:nowrap"> <code> <em:de******ion>تجربة إنشاء ملحق</em:de******ion>
</code> </code>

- وصف عنه

رمز PHP:

<code style="white-space:nowrap"> <code> <em:creator>ضيف الله العتيبي</em:creator>
</code> </code>

- اسم صاحب البرنامج

رمز PHP:

<code style="white-space:nowrap"> <code> <em:homepageURL>http:///www.daif.net/</em:homepageURL>
</code> </code>

- عنوان الموقع

رمز PHP:

<code style="white-space:nowrap"> <code> <em:iconURL>chrome:///helloworld/content/helloworld.png</em:iconURL>
</code> </code>

- مسار صورة الملحق


انتهينا من ملف التركيب install , الذي يجب كتابتة بالشكل السابق وبشكل صحيح او لن يتم تركيب install البرنامج.
افتح الملف helloworld.xul سيكون داخل المجلد content داخل chromeFiles داخل myExtension هذه الملف سوف يتم تحميله ودمجة مع ملف browser.xul لكي يتم اضافة نص في شريط الحالة الموجود اصلا في الملف الاساسي browser.xul, قد يكون غير واضح لكن يجب ان تعرف واجهة interface المتصفح من من قوائم مثل &quot;ملف-تحرير- عرض-..&quot; و أزرار &quot;تقدم-تراجع-تحديث update-..&quot; وشريط أدوات وشريط حال النافذة التى أمامك هي عبارة عن الملف xml (هو browser.xul) موجودة فيه هذه التعليمات ويمكن تعديلها او حتى حذفها , ما نريده هو اضافة لشريط الحاله بدون تعديل الملف وهذه ما يسمى الدمج او التغطية &quot;Overlays&quot; اكتب في الملف هذه الكود code وسوف ينفذ سوف ينفذ العمليه

رمز PHP:

<code style="white-space:nowrap"> <code> <?xml version="1.0"?>
<overlay id="helloworld" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<****** src="chrome://helloworld/content/helloworld.js" type="application/x-java******" />
<statusbar id="status-bar">
<statusbarpanel id="helloworld-status" label="أهلا بالعالم" tooltiptext="تجربة وصف مختصر" onclick="helloworld();"/>
</statusbar>
</overlay> </code> </code>

شرح طريقة الكود code السابق

helloworld.js - ملف الجافا اسكربت وفيه عرفنا دالة helloworld

statusbar - هذه هو شريط الحالة الخاص بالمتصفح

statusbarpanel - لوحة &quot;أهلا بالعالم&quot; تم إضافتها لشريط الحالة وعند النقر عليها يعرض تنبيه


ملف الجافا سكربت helloworld.js الموجود بجانب الملف السابق
رمز PHP:

<code style="white-space:nowrap"> <code> //كود code جافا اسكربت عادي
function helloworld(){
alert('مبروك تم تركيب install الملحق بنجاح');
}
</code> </code>


بقى الان ان نفعل هذه البرنامج بتحديد مساره ودمجه او تغطية مع المتصفح افتح الملف chrome.manifest الذي هو داخل myExtension مباشره وكتب فيه
رمز PHP:

<code style="white-space:nowrap"> <code> content helloworld chrome/chromeFiles/content/
overlay chrome://browser/content/browser.xul chrome://helloworld/content/helloworld.xul
</code> </code>

السطر الاول يعنى ان المحتويات content للملحق helloworld موجوده في هذه المسار chrome/chromeFiles/content/
السطر الثاني يعنى دمج ملف الملحق chrome://helloworld/content/helloworld.xul داخل الملف الاساسي للمتصفح chrome://browser/content/browser.xul

الان انتهينا , من هذه الملحق البسيط بقي عملية تجميع الملحق ونشرة كالتالي :
اضغط الملفات الموجوده داخل المجلد myExtension , لا تضغط المجلد الرئيسي فقط الملفات التى بداخله وغير مسار الملف المضغوط من zip الى xpi ثم افتح هذه الملف باستخدام المتصفح وسوف تجد ان الملحق تم تركيب installه. الملف النهائي للملحق
تحميل المثال helloworld.xpi (http://daif.net/download/helloworld.xpi)

المصادر:
- شرح طريقة بناء ملحق (http://developer.mozilla.org/en/docs/Building_an_Extension)
- شرح طريقة ملف التركيب install (http://developer.mozilla.org/en/docs/Install_Manifests)
- شرح طريقة التغطية (http://developer.mozilla.org/en/docs/XUL_Overlays)

مع الشكر الجزيل لصاحب الموضوع
وللمزيد من الشرح طريقة اليكم الرابط التالي
http://daif.net/index.php?app=artical&id=24






ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى