صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 23

الموضوع: تعلم بناء موقع بتقنية الـAjax (كُلياً)

  1. تعلم بناء موقع بتقنية الـAjax (كُلياً)



    السلام عليكم ورحمة الله
    لا أريد الثرثرة كثيرا عن تاريخ وبدايات تقنية الأجاكس لان Google مكتظ بها ،
    بإختصار نريد أن نتعلم معاً بناء موقع بسيط المحتوى يعتمد في عمله على تقنية الأجاكس .... وبدون الخوض في شرح عمل الكود لكي نضمن اكبر كمية مستفيدين لهذا الموضوع ،،كفانا ثرثرة

    لننطلق الآن :
    قبل الانطلاق احب ان انوه الى انه لا يمكن تحميل الصفحات التي خارج نطاق موقعك لأسباب امنية .
    لا تقم بوضع أوسمة بداية الـHTML مطلقا في جميع الصفحات ما عدا الصفحة الاولى او الصفحة الرئيسية ، وإذا اضفتها فانها لن تعمل،
    وهنالكـ حل بالنسبة لملفات التنسيق والالوان تجده في نهاية هذا الموضوع

    وهذا مثال جاهز تم تطبيقه عبر هذا الموضوع
    ولتحميل جميع ملفات هذا الموضوع اضفط هنا

    أولا قم بلصق هذا الكود داخل وسم الـHead في صفحتك الرئيسية او الاساسية :
    كود:
    /***********************************************
    * Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/
    
    var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
    var loadedobjects=""
    var rootdomain="http://"+window.location.hostname
    var bustcacheparameter=""
    
    function ajaxpage(url, containerid){
    var page_request = false
    if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
    else if (window.ActiveXObject){ // if IE
    try {
    page_request = new ActiveXObject("Msxml2.XMLHTTP")
    } 
    catch (e){
    try{
    page_request = new ActiveXObject("Microsoft.XMLHTTP")
    }
    catch (e){}
    }
    }
    else
    return false
    page_request.onreadystatechange=function(){
    loadpage(page_request, containerid)
    }
    if (bustcachevar) //if bust caching of external page
    bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
    page_request.open('GET', url+bustcacheparameter, true)
    page_request.send(null)
    }
    
    function loadpage(page_request, containerid){
    if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
    document.getElementById(containerid).innerHTML=page_request.responseText
    }
    
    function loadobjs(){
    if (!document.getElementById)
    return
    for (i=0; i<arguments.length; i++){
    var file=arguments[i]
    var fileref=""
    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
    if (file.indexOf(".js")!=-1){ //If object is a js file
    fileref=document.createElement('script')
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", file);
    }
    else if (file.indexOf(".css")!=-1){ //If object is a css file
    fileref=document.createElement("link")
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", file);
    }
    }
    if (fileref!=""){
    document.getElementsByTagName("head").item(0).appendChild(fileref)
    loadedobjects+=file+" " //Remember this object as being already added to page
    }
    }
    }
    
    </script>
    قم بتصميم واجهتك موقعك كما تريد ....

    فقط قم بادراج الروابط بالشكل التالي :
    الروابط البسيطة و روابط الصور :
    كود:
    <a href="javascript:ajaxpage('test.htm', 'contentarea');">test</a>
    الان قمنا بتجهيز الروابط ،
    بعد الانتهاء من التصميم يجب ان تحدد خلية لكي يتم عرض محتويات الصفحات داخلها وتاكد من وضع تعريف الخلية بالاسم contentarea

    كود HTML:
    <div id="contentarea"></div>
    الروابط الخارجية "من نفس الموقع":
    ببساطة :
    كود HTML:
    <a href="javascript:ajaxpage(rootdomain+'/mydir/index.htm', 'contentarea');">test</a
    المتغير : rootdomain+ يعني اسم النطاق الخاص بكـ .

    تحميل وإضافة ملفات CSS :
    ببساطة عبر دالة loadobjs()،،،
    كود:
      ، loadobjs('external.css') //load one CSS file
    ليكن شكل الرابط:
    كود:
    <a href="javascript:ajaxpage('test.htm', 'contentarea'); loadobjs('external.css' )">test</a>

    جميع اكواد الجافا تم جلبها من موقع Dynamic Drive
    تحياتي القلبية واتمنى اكن قد افدتكم ولو بالقليل
    HaMaDa4eVeR






    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2005
    المشاركات
    746


    ياسلام عليك ..........شاكر لك هذا الجهد الموفق .........جاري الاطلاع على الموضوع والتطبيق






  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    692


    شكرا لك اخوي علي هذا الشرح الرائع






  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    695


    مشكور أخي HaMaDa4eVeR وبارك الله فيك وفي والديك.

    لقد جربت الطريقة فهي ممتعة, ولكن لدي سؤال لو سمحت:

    اذا كانت عندي في الصفحة الثانية مثلاً اظهار 20 مشاركة من سجل الزوار الذي يحوي على 500 مشاركة.
    فهل طريقة الاجاكس سوف تفيد موقعي وسوف تخفف من الباندويث؟

    ارجو الرد والمساعدة.





    __________________
    لا خير في كاتـــــــــ العلم ــــــــم.

  5. #5
    عضو فعال
    تاريخ التسجيل
    Apr 2004
    المشاركات
    1,866


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

    ولكن هل لديك فكرة عن جلب البيانات من قواعد البيانات بالاجاكس ؟





    __________________
    سبحان الله وبحمده عدد خلقه - زنة عرشه - مداد كلماته - رضاء نفسه

    شكرا لسوالف الزرعوني.
    شكرا لأعضاء سوالف الزرعوني .

    استودعكم الله الذي لا تضيع ودائعة.

    اخوكم الجياش

  6. #6


    شكراً جزيلاً على الموضوع القيم جداً ... ومبروك التثبيت سلفاً






  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2001
    المشاركات
    3,680


    بارك الله بك





    __________________
    الحالة في سوالف : غير نشط


    لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ

    الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية

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


    جميل جدا

    لك الف تحيه





    __________________
    نيلين هوست للاستضافة والتصميم
    WwW.NiliNHoST.CoM
    Email: Support@nilinhost.com
    MSN:Omer_Prog@hotmail.com

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


    اتمنى اخي
    لو تشرح نفس الكود
    حق الجافا سكربت
    لنفهم كيف تسير الامور






  10. #10
    عضو فعال
    تاريخ التسجيل
    Jun 2004
    المشاركات
    1,519


    بارك الله فيك واثابك وزادك من علمه





    __________________
    أحفظ الله في السر والعلن

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    830


    جزاك الله خير على هذا الدرس الرائع

    طريقتك واضحة لكن واجهتني مشكله في الروابط !!


    عند الضغط على أي من الروابط يتم التحويل الى الصفحة الأخرى ولكن تتغير اللنكات الى كلمات غير مفهومة !!

    يصير بدل الرابط الوسم اللي بعده مع علامات استفهام ؟؟


    ما هو الحل ؟ او ماهو الخطأ مع العلم بأني اتبعت الشرح بحذافيره








  12. مشكور أخي HaMaDa4eVeR وبارك الله فيك وفي والديك.

    لقد جربت الطريقة فهي ممتعة, ولكن لدي سؤال لو سمحت:

    اذا كانت عندي في الصفحة الثانية مثلاً اظهار 20 مشاركة من سجل الزوار الذي يحوي على 500 مشاركة.
    فهل طريقة الاجاكس سوف تفيد موقعي وسوف تخفف من الباندويث؟

    ارجو الرد والمساعدة.
    نعم الاجاكس إذا احسنت تطبيقها يمكنها ان تقلل كمية استهلاك الباندويدث.
    جزاك الله خيرا اخي HaMaDa4eVeR

    ولكن هل لديك فكرة عن جلب البيانات من قواعد البيانات بالاجاكس ؟
    هنالك موضوع رائع بخصوص التعامل مع قواعد البيانات :
    http://www.swalif.net/softs/showthread.php?t=126902

    اتمنى اخي
    لو تشرح نفس الكود
    حق الجافا سكربت
    لنفهم كيف تسير الامور
    في الكود هنالك ثلالثة دوال جافا وهي ajaxpage و loadpage و loadobjs
    واهمها الدالة الاولى التي تقوم بانشاء الاوجيكت XMLHttpRequest (بطل هذه التقنية)
    وانا قصدت عدم الخوض في الكود لكي يكن الموضوع بسيط وسهل للجميع

    جزاك الله خير على هذا الدرس الرائع

    طريقتك واضحة لكن واجهتني مشكله في الروابط !!


    عند الضغط على أي من الروابط يتم التحويل الى الصفحة الأخرى ولكن تتغير اللنكات الى كلمات غير مفهومة !!

    يصير بدل الرابط الوسم اللي بعده مع علامات استفهام ؟؟


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

    لكم اجزل الشكر و التقدير





    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##

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


    شكرا لك
    بس انا حابب اتعلم فبحاول افهم الكود
    فمحتاج منك المساعده والشرح وشكرا لك








  14. يجب أن تكون صفحات الموقع بترميز UTF-8 وليس Windows-1256.

    ولا أدري لماذا .. ولعل السبب في أن الاستعلام الافتراضي في XML ترميزه UTF-8.

    ويمكن النظر في الموضوع التالي للحصول على المزيد من التفاصيل:

    http://www.dynamicdrive.com/dynamici...jaxcontent.htm






  15. #15


    بارك الله بكم


    شرح رائع





    __________________
    مهندس أحمد
    إتصالات وإلكترونيات
    مسلم عربي فلسطيني
    I Allah

    مرئية فلسطين على اليوتيوب

    خلجات قلب ....





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

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

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