النتائج 1 إلى 8 من 8

الموضوع: سلسلة تعلم DHTML - جافاسكربت DOM

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    167

    سلسلة تعلم DHTML - جافاسكربت DOM



    نقلا عن موقع http://www.devpedia.org
    -------------------------------------------------------
    السلام عليكم ورحمة الله تعالى وبركاته وبعد،

    في هذا الدرس سنتعلم بإذن الله تعالى الفرق بين الجافاسكربت والDOM والDHTML، فالكثير الكثير من مبرمجي ومصممي الويب يغفلون عنه ويظنون أن كل هذه الأشياء واحد وهي الجافاسكربت، وكثير منا عندما يريد أن يستخدم الجافاسكربت في تصميمه للصفحة فأنه يذهب ويبحث بالساعات عن برمجيات جاهزه لتغيرات بسيطه كتغير لون الخلفية عندما يضغط المستخدم على زر مثلا، ومانفعله بالغالب هو Cut & Paste بدون حتى قراءة الكود ومع أن الكود يكون سهل جدا وفي الغالب لايتعدى 20-30 سطر.

    الفرق بين الجافاسكربت والDOM والDHTML؟

    الجافاسكربت هي لغة برمجية للويب، وهي لغة Object scripting language أي أنها لغة تعتمد على الClasses بشكل كبير على العكس من الPHP أول ماظهرت لم تكن تعتمد على الClasses كانت تعتمد على Functions وبعد ذلك تم إضافة الدعم للClasses في النسخ المتأخرة من الphp، ولكن أغلب المبرمجين على الجافاسكربت لايستفيدون من هذه الخاصية المهمة وهو ليس موضوع حديثنا اليوم ولكنني أحببت أن أوضح الفرق. لغة الجافاسكربت هي لغة في نصها أشتقت من لغة الC لكي يسهل على المطورين تعلمها بسرعة بدون العناء إلى تعلم نص أو syntax جديدة لهذه اللغة.

    إذا ماهي الDHTML؟

    الDHTML عزيزي القارئ هي اختصار لكلمة Dynamic HTML وهي لغة الHTML التفاعلية، وكما نعلم فإن الHTML هي لغة برمجية static أو ثابيه، فأي شيء تبرمجه ستجده ظاهرا على الصفحة بدون أي حركات أو إضافات animation، واكن بعدما قامت شكرة netscape المشهورة بإضافة لغة الجافاسكربت إلى متصفحها هنا أضافت الحركة إلى الصفحة وجعلتها تتفاعل أكثر مع المستخدم ومن ثم تم تتطبيقها بشكل رسمي من المنظمة العالمية للويب w3c،

    الآن وبعدما عرفنا الDHTML نذهب إلى تعريف مهم وهو الDOM

    ما هو الDOM؟

    اختصار لكلمة Document Object Model وهي API أو وصلة تطبيق برمجي لملفات الHTML والXML التي تتيح هيكلة الملف وتقسيمه، ومن ثم يمكنك أن تحدد أي Object من ذلك الملف والتعديل عليه من ناحية النص أو الشكل أو لون الخلفية ... الخ. باختصار شديد هي حلقة الوصل بين الDHTML والجافاسكربت.

    معنى الObjects أي أن كل ما يضيفه مصمم الويب من صور وجدوال ونص وماخلافه يكون Objects، ويمكنك تحديد أي Object في صفحتك والدخول إليه لتغير خصائصه عن طريق الDOM.

    والDOM تستعمل غالبا مع الجافاسكربت، ولكنها ليست جزء من اللغة نفسها فقد تم تصميم الDOM ليكون إضافاة للغات البرمجة وليس ليستعمل مع لغة الجافاسكربت فقط، وهنا أحب أن أوضح نقطه قد يكون أكثر من 90% من مصممي الويب غافل عنها وهي أن الحركات التفاعلية وتغير الألوان يكون بالجافاسكربت DOM وليس بالجافاسكربت لوحدها.
    أمثلة لاستخدامات الDOM في لغات البرمجة الأخرى: لغة الphp

    سأوضح كلامي السابق بمثال، لنفترض أنك أنشأت صفحة ويب HTML وكان فيها عنصر div أو img وأردت عندما يقوم الزائر بالضفط على زر في الصفحة أن تتغير لون خلفية هذا العنصر اللذي أضفناه، فوسيلتك الوحيدة للدخول إلى هذا العنصر وتغير خلفيته هو بالجافاسكربت DOM.

    كيفية استخدام الجافاسكربت DOM؟

    الان وصلنا إلى أهم نقطة في حديثنا اليوم، كيف نوظف الجافاسكربت DOM وكيف نعطي صفحتنا فاعلية أكثر ونحولها إلى DHTML. انظر إلى المثال التالي وهو مأخوذ من موقع شركة Mozilla، هذا الكود راح يأخذ كل الأوسمة أو الTags التي هي على شكل <a> والتي تمثل أوسمة الوصلات الموجودة في صفحتك ويخزنها على شكل Array أو مصفوفة في المتغير anchorTags، وراح يعطيك مسج أو alert() بكل وصلة يؤدي إليها هذا الوسم باستخدام For Loop:
    كود:
    var anchorTags = document.getElementsByTagName("a");
    for (var i = 0; i <> {
    alert("Href of " + i + "-th element is : " + anchorTags[i].href + "\n");
    }
    الآن لنحلل هذا الكود ولنتعرف على ماهو الDOM وماهو من أصل الجافاسكربت، للتوضيح فقد تم تلوين خصائص الDOM باللون الأحمر وخصائص الجافاسكربت الأساسية باللون الأزرق:
    var anchorTags =

    لتعريف المتغير في الجافاسكربت

    document.getElementsByTagName("a")

    الdocument ومن تعريف الw3c له هو الصفحة الكاملة التي تحتوي على كل شيء من صور وخلافه، والدالة getElementsByTagName تبحث عن كل الأوسمة التي في الdocument أو الصفحة وأي وسم يطابق المعطيات لهذه الدالة سوف يتم تخزينه في المتغير أعلاه، وهذا من خصائص وتعاريف الDOM

    For-Loop

    هي حلقة معروفة لدى المبرمجين وهذه من خصائص الجافاسكربت

    anchorTags.length

    هي للإثنين تقريبا لانها تعتبر مصفوفة في نظر الجافاسكربت وفي نظر الDOM وحسب تعريف الw3c لها هي عدد العقد أو الNodes، على أي حال هي تعبر عن عدد العقد التي رجعت إلينا من منادة الدالة document.getElementsByTagName("a").

    anchorTags[i].href

    للمبرمجين الC يمكن أن يلاحظوها على طول، فنحن هنا نأخذ المصفوفة anchorTags رقم i وندخل إلى خاصية الhref بها ونأخذ مابداخلها. وخاصية الhref بهذه الطريقة هي من خصائص الDOM ويرجع لنا على شكل نص أو String.

    المراجع
    http://developer.mozilla.org/en/docs...t_Object_Model

    الخلاصة
    في هذا الدرس تعلمنا الفرق بين الجافاسكربت والDOM والDHTMl وعرفنا كيف ندخل إلى أي Object أو عنصر في صفحة الHTML وتغيرها حسب الطلب. أتمنى من الله أن أكون قد وفقت في شرح هذا الدرس، وللأخوة الذين لديهم أي استفسارات لاتترددوا في طرحها، وشكرا لكم على وقتكم لقراءة الموضوع.

    مع تحياتي
    -------------------------------------------------------
    :: كتبه: Bo3oof
    :: المصدر: http://www.devpedia.org/articles/index.php?p=60





    __________________
    ------------------------
    Moving with the web 2.0h era


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jun 2004
    المشاركات
    139


    صراحة قرأت الدرس برغم اني مبتدئ إلا اني اجدني متشوق لمعرفة المزيد عن تطوير المواقع وعن اللغات

    دمت بود وحفظ الله





    __________________
    رب اغفر لي

  3. #3
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    ماشاء الله عليك أخي ابو عوف يبدو اني سأبقى متفرجا هذه الأيام
    وهذا ردي السابق عليك
    فعلا يخطئ من يجمع بين DOM (نمودج اتحاد المستند العالمي) وبين لغة الجافاسكريبت.
    قديما قبل الوصول الى معايير الوصول الى المستندات، كان مبرمجو الجافاسكريبت مضطرين الى البرمجة على اساس تعدد المتصفحات.
    فهو يضع برنامج بأكواد خاصة بمتصفح أنترنت اكسبلورر و اكواد اخرى خاصة بمتصفح نيتسكيب ثم سفاري، يعني ان اردت ان تبرمج كود وجب ان تضع ثلاث اكواد حتى يشتغل فيهم كلهم، او تضع كود يشتغل فقط في انترنت اكسبلورر وعند تطبيقه في متصفح اخر تخرج سالة مفادها ان هذا السكريبت يشتغل فقط في المتصفح الفلان الفلاني. وهذه المشكلة اتت لأن نيتسكيب و اوبرا يعتمدون على javascript بينما المتصفح انترنت اكسبلورر يعتمد على Jscript، فطريقة الوصول الى المستندات و التعامل مع الوسوم تختلف من لغة الى لغة، ومن متصفح الى اخر، وهنا برزت اهمية اتحاد نمودج المستند العالمي(DOM) حيث جعلت الوصول الى المستندات و الوسوم بنفس الطريقة مهما اختلفت اللغة، نفس الطريقة للوصول الى الوسوم سواء كانت اللغة هيكلية ك java او نصية ك javascript او حتى كانت ASP







  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    167


    الآخ yasser_xp
    حفظك الله يالغالي، وان شاء الله سنحاول طرح المزيد من الدروس في مجال هذه اللغة الشبه منسية بالنسبة للمبرمجين العرب رغم أهميتها.

    أخي زيزوار
    انت تعرف أخي زيزوار أن "العين ماتعلى عن الحاجب"





    __________________
    ------------------------
    Moving with the web 2.0h era



  5. السلام عليكم


    موضوع رائع بكل ما تعنيه الكلمة

    اتمنا الكثير من هذه المواضيع المليئه بالمعلومات التي تغني معرفتنا

    بارك الله فيك وبكل من يكتهد بكتابة او نقل هذه المواضيع القيمة





    __________________
    أنشئ البوم لصورك وشاركها في موقعك صور TNT


    expertsniper - Fast سابقاً

  6. #6
    عضو فعال
    تاريخ التسجيل
    Feb 2004
    المشاركات
    1,318


    جزاك الله كل الخير





    __________________
    سبحان الله وبحمده سبحان الله العظيم

    منتديات ترنيمة

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    335


    بارك الله فيك





    __________________
    شبكة البيت للتصميمات وبرمجة الاسكربتات الخاصة
    http://www.Elbayt.NeT
    الزواج - العقارات -الاخبار- مجلات خاصة - نيوك - منتديات - قروبات - مستعمل - الجوال - الوظائف - واى من الاسكربتات الخاصة

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    40


    بارك الله فيك










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض