بحث متقدم | التسجيل
الويب العربي
  تسجيل دخول
 
   
   

  ملاحظة
الموقع متاح للإطلاع والقراءة فقط، المشاركة والمواضيع الجديدة غير متاحة حالياً لحين تطوير الموقع.




الموقع متاح للإطلاع والقراءة فقط، المشاركة والمواضيع الجديدة غير متاحة حالياً لحين تطوير الموقع.

عـودة للخلف   الويب العربي المركز التعليمي المجاني تطويرالمواقع

تطويرالمواقع تبادل خبرات ، سكربتات ، تصاميم ،استفسارات

موضوع مغلق اضف موضوع جديد
 
خيارات الموضوع طريقة العرض
 
قديم 02-10-2007, 08:52 PM
Ayman Najjar Ayman Najjar غير متصل
عضو
 
تاريخ التسجيل: Sep 2007
مشاركة: 11
مستوى تقييم العضوية: 0
Ayman Najjar is on a distinguished road
الافتراضي الـAjax ، ماهي ؟ مالها وماعليها؟

السلام عليكم ورحمة الله وبركاته

مقدمة:
لايكاد يمر يوم دون ان يرى مصمموا المواقع مقالا يتكلم عن هذه التقنية التي اصبحت "موضة" الويب ان صح التعبير، فلا يجتمع مصممين إلا وحازت هذه التقنية على نصيب الاسد من نقاشهما فما هي تلك التقنية التي قلبت مفهوم الويب حتى انشأت معيارا جديدا في تصميم المواقع ...

لعلكم تذكرون عندما قراتم موضوع الأخ Smart Vision جزاه الله خيرا عندما تكلم عن الويب 2.0 انه ذكر ان الـ Ajax اصبحت سمة تتسم بها تلك المواقع التي تتماشى مع مفهوم الويب 2.0 ، وتقنية الـ Ajax تأتي مكملة لمفهوم البساطة و سهولة التصفح التي تتسم بها مواقع الويب 2.0 وتكمن الميزة الأعظم في هذه التقنية في السماح بتحميل محتويات جديدة للصفحة دون الحاجة إلى إعادة تحميل الصفحة من البداية. ومن هنا ياتي اسمها Ajax الذي هو اختصار لـ Asynchronous JAvaScript and XML ، حيث تكمن صفة اللاتزامنية فيها (asynchronousk H) بأن هذه المحتويات يتم تحميلها من السيرفر بشكل لايتطلب تحميل بقية الصفحة ، أما كلمة الـ XML فهي تشير إلى أن تلك المحتويات التي يتم تحميلها بشكل غير متزامن فما هي إلا عبارة عن وسوم XML (بالرغم ان هذا ليس صحيحا بالضرورة) وأما كلمة Javascript فتدل على ان تلك التقنية تستخدم لغة Javascript.

اسمحو لي بأن أعطي موقعي الشخصي كمثال مبسط عن هذه التقنية ayman.kwakeb.net
ستلاحظ عند تنقلك بين صفحات الموقع بأن الصفحة تبقى كما هي إلا ان المحتوى النصي يتغير عند انتقالك من صفحة لأخرى

التنفيذ:
سأعطي الآن مثالا تعليميا مبسطا لتستخدم تلك التقنية في موقعك

بداية، علينا تعريف الXmlHttpRequest Object والذي عن طريقه سنقوم بطلب محتويات جديدة
قم بوضع الكود التالي بعد وسم الـ <body> مباشرة
كود:
<script type="text/javascript">
function ajaxopen(div, url)
  {
  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }
  }
</script>
هنا تلاحظ اننا قمنا بتعريف متغير xmlHttp والذي سنقوم من خلاله بطلب صفحات لوضعها في الصفحة الحالية
والدالة التي عرفناها في الشفرة السابقة تأخد مدخلين اثنين parameters ، الأول سيعرف اين سنضع الصفحة المحملة والثاني يحدد ماهي الصفحة التي يجب تحميلها

الآن سنقوم بتحديد مالذي على المتصفح فعله بعد اكتمال تحميل الصفحة المطلوبة
لذا أضف على الدالة السابقة وقبل نهاية القوس الأخير
كود:
xmlHttp.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
    {
dcidocument.getElementById(div).innerHTML = xmlHttp.responseText;
    }
  }
وهنا حددنا انه عند وصول حالة التحميل إلى الحالة 4 (والتي تعني اكتمال التحميل) فإنه على المتصفح وضع هذه المحتويات داخل الdiv المحدد في الصفحة (المزيد عن الـdiv فيما بعد)
بإمكاننا حتى نضفي مزيدا من التفاعلية على الموقع ان نعرض عبارة تدل على تحميل الصفحة اثناء التحميل، لفعل هذا قم بإضافة مايلي بعد نهاية الـif في الشفرة السابقة
كود:
else { 
dcidocument.getElementById(div).innerHTML = "Loading, Please Wait...";
}
ثم سنقوم باستخدام xmlHttp لطلب الصفحة التي تمرر للدالة
، اضف مايلي للشفرة قبل القوس الأخير
كود:
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
اما الآن ، لاستخدام هذه الدالة في صفحة، عليك إنشاء صفحة مشابهة لما يلي بعد نهاية الوسم</script>

كود:
Welcome to My Website
<br>
<div id='content'>
Please <a href='#' onclick="javascript:ajaxopen('content', 'contact.html');">Click Here</a> to contact me
</div>
هنا قمنا بتحديد منطقة اسميناها content، ثم استخدمنا الدالة التي عرفناها سابقة لطلب الصفحة contact.html ووضعها في المنطقة المسماة content
قم بإنشاء صفحة اسمها contact.html وضع فيها ماتريد


في نهاية المطاف سيصبح لديك مايلي
كود:
<HTML>
 <HEAD>
  <TITLE> Ajax Test</TITLE>

<script type="text/javascript">
function ajaxopen(div, url)
  {

  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }

	xmlHttp.onreadystatechange=function()
	  {
	  if(xmlHttp.readyState==4)
		{
			dcidocument.getElementById(div).innerHTML = xmlHttp.responseText;
		}
		else
		{ 
			dcidocument.getElementById(div).innerHTML = "Loading, Please Wait...";
		}
	  }
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
  }
</script>

 </HEAD>

 <BODY>
Welcome to My Website
<br>
<div id='content'>
Please <a href='#' onclick="javascript:ajaxopen('content', 'contact.html');">Click Here</a> to contact me
</div>

 </BODY>
</HTML>
لا تنس ان تقوم بإنشاء صفحة contact.html وضع فيها ماتريد

طبعا هذا مثال مصغر فقط لهذه التقنية ذو الاستخدامات المتعددة ، لكن يمكنك استخدام مخيلتك للاستفادة من هذا المثال واستخدامه بشكل مكبر، طبعا في هذا المثال نقوم بطلب الصفحة contact.html من نوعHTTP GET REQUEST، وهذا هو النوع التي تستخدمه عند فتح صفحة من المتصفح او عندما تضغط على رابط ما، اما النوع الآخر HTTP POST REQUEST وهو النوع الذي تستخدمه عادة في النماذج والform عندما تضغط على زر الارسال submit

الإيجابيات:
o الإقلال من الـtraffic المتبادل بين السيرفر و المتصفح وبالتالي استهلاك bandwidth أقل، حيث انك عندما تطلب المحتوى النصي فقط عند الانتقال بين الصفحات ولا تطلب بقية الصفحة إلا في المرة الأولى، فإن استهلاك الـbandwidth سيتناقص بشكل كبير
o الفصل بين المحتويات والتنسيق، ستلاحظ ان التنسيق يكون موجود في الصفحة الأولى، اما بقية الصفحات فلن تكتب فيها سوى المحتوى النصي مما يسهل عليك التصميم
o الإضفاء مزيد من التفاعلية على الموقع، فالزائر الذي يرى عبارات الانتظار عند تنقله بين صفحة واخرى سيشعر بتفاعل الموقع معه بدلا من الروتين الممل الذي اعتاد عليه عند ضغطه على روابط عادية

السلبيات:
o من السلبيات التي لابد وانك لاحظتها هي ان الضغط على رابط يؤدي في الحقيقة إلى فتح الصفحة # (وال# تدل على نفس الصفحة ولكن في منطقة معينة - bookmarking) أي انه بالنسبة للمتصفح فإنك لم تنتقل من الصفحة ذاتها طوال وجودك في الموقع، وبالتالي فإنه لا يمكنك تخزين صفحة داخلية في المفضلة أو مثلا الرجوع للصفحة السابقة باستخدام زر الخلف back او بالـhistory، إلا ان هذه المعضلة يمكن تجاوزها بعدد من الحلول ، مثل ان تضع دلالة على محتوى الصفحة بعد حرف الـ# (مثلا في مثالنا السابقة، ربط الرابط بالصفحة #contact) ثم بإمكانك عن طريق server-side script ان تعرض المحتوى المطلوب بعد فحص الquery string
مثال
كود:
if ($_ENF[QUERY_STRING] == '#contact')
		include("contact.php")
o ايضا من السلبيات التي يسببها استخدام تقنية Ajax هو عدم توفر المحتوى النصي للصفحات الداخلية لمحركات البحث التي تطلق الـrobots لفهرسة الموقع، فبالنسبة لgooglebot على سبيل المثال، فلن يرى سوى الصفحة الأولى ، لأنه لا يفهم معنى الـJavascript ولايقوم بتنفيذها فلن يستطيع الوصول إلى الصفحات الأخرى، وايضا لحل هذه المعضلة يمكن استخدام ملفات htaccess لعرض صفحة اخرى للـ search bots غير التي يقوم السرفر بعرضها للمتصفحين الآخرين، وهذه الصفحة تحوي روابط عادية وليست javascript
o الاعتماد على لغة الـ Javascript، وبسبب اختلاف تنفيذ الjavascript في مختلف المتصفحات، فإن على المصمم التأكد من ان الموقع يعمل بشكل صحيح على مختلف المتصفحات ، ولكن مع تواجد مكتبات متعددة تسهل من الاستفادة من تقنية Ajax ، اصبح من السهل تجاوز هذه السلبية، ومن هذه المكتبات القوية والتي استخدمها شخصيا مكتبة Prototype Javascript Framework (prototypejs.org)


مواقع تستخدم Ajax:
حتى ابين مدى قوة هذه التقنية ، احببت ان اشارككم بعض المواقع التي تعتمد على تقنية Ajax بشكل مكثف:
http://www.ajaxwindows.com
https://www.google.com/analytics/
http://flickr.com
وكثير من المواقع الاخرى


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

تحياتي،
أيمن نجار






التوقيع
http://ayman.kwakeb.net

وما استعصى على قوم منال إذا الإقدام كان لهم ركابا

آخر تعديل بواسطة Ayman Najjar ، 02-10-2007 الساعة 08:57 PM.
  #21  
قديم 31-10-2007, 04:54 PM
قلب ابيض قلب ابيض غير متصل
عضو
 
تاريخ التسجيل: Sep 2007
مشاركة: 9
مستوى تقييم العضوية: 0
قلب ابيض is on a distinguished road
الافتراضي

الف شكر لك على التوضيح

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





  #22  
قديم 04-11-2007, 05:30 PM
روح القطيف ro-7 روح القطيف ro-7 غير متصل
عضو
 
تاريخ التسجيل: Jan 2006
مشاركة: 18
مستوى تقييم العضوية: 0
روح القطيف ro-7 is on a distinguished road
الافتراضي

السلام عليكم ورحمة الله وبركاته

الله يعطيك العافية





  #23  
قديم 05-11-2007, 01:56 AM
TooP4HosT TooP4HosT غير متصل
عضو
 
تاريخ التسجيل: Oct 2007
مشاركة: 8
مستوى تقييم العضوية: 0
TooP4HosT is on a distinguished road
الافتراضي

مشكووووووور أخي على الشرح الجميل





  #24  
قديم 17-11-2007, 02:40 PM
saitat saitat غير متصل
عضو
 
تاريخ التسجيل: Nov 2007
مشاركة: 51
مستوى تقييم العضوية: 17
saitat is on a distinguished road
الافتراضي

شكراً للأستاذ الكريم على الشرح الرائع ، و لكني هنا أسألك ، هل ه1ا هو الوقت المناسب للبدء بدعم AJAX ؟ علماً أنه ليس صديق لمحركات البحث ، إذ يقلل عدد الروابط الفريدة ؟

هذه النقطة بالذات أتوقع أنها ليست في صالح هذه الطريقة .






التوقيع
استضافة و سيرفرات سايتات، حجم و عرض حزمة غير محدود، ابتداءً من 45$ سنوياً

- دومين الموقع: (www.saitat-host.com)
- مالك الموقع: (طارق أبو عسلي)
- المقر/محل الاقامة: (الكويت)
- رابط/بريد الدعم الفني: (sales@saitat.com)
- رقم الهاتف إن وجد: (0096566044187)
  #25  
قديم 20-11-2007, 04:57 PM
wsws17 wsws17 غير متصل
عضو
 
تاريخ التسجيل: Nov 2007
مشاركة: 6
مستوى تقييم العضوية: 0
wsws17 is on a distinguished road
الافتراضي

thaaaank yoou very much





  #26  
قديم 27-11-2007, 02:52 AM
وردة السلام وردة السلام غير متصل
عضو
 
تاريخ التسجيل: Mar 2007
مشاركة: 9
مستوى تقييم العضوية: 0
وردة السلام is on a distinguished road
الافتراضي

ابدعت اخي شكرا وجزاك الله خيرا





  #27  
قديم 30-11-2007, 06:40 PM
MaJDiSoFt MaJDiSoFt غير متصل
عضو
 
تاريخ التسجيل: Sep 2007
مشاركة: 25
مستوى تقييم العضوية: 0
MaJDiSoFt is on a distinguished road
الافتراضي

مشكووووووووووووووووووووور





  #28  
قديم 01-12-2007, 04:09 PM
المحتار2007 المحتار2007 غير متصل
عضو
 
تاريخ التسجيل: Apr 2007
مشاركة: 7
مستوى تقييم العضوية: 0
المحتار2007 is on a distinguished road
الافتراضي

مشكورررررررررررررر





  #29  
قديم 01-12-2007, 04:10 PM
المحتار2007 المحتار2007 غير متصل
عضو
 
تاريخ التسجيل: Apr 2007
مشاركة: 7
مستوى تقييم العضوية: 0
المحتار2007 is on a distinguished road
الافتراضي

مشكورررررررررررررررررر





  #30  
قديم 06-12-2007, 07:33 AM
IQ4H.com IQ4H.com غير متصل
عضو
 
تاريخ التسجيل: Nov 2007
مشاركة: 7
مستوى تقييم العضوية: 0
IQ4H.com is on a distinguished road
الافتراضي

ربي يوفقك على المعلومات الرووووووووعة

والله والله والله معلومات قيمة جدا جدا جدا جدا

تحياتي اللك اخي الكريم





  #31  
قديم 06-12-2007, 10:22 AM
makshost.com makshost.com غير متصل
عضو
 
تاريخ التسجيل: Oct 2007
مشاركة: 23
مستوى تقييم العضوية: 0
makshost.com is on a distinguished road
الافتراضي

مشكور يالغلا





  #32  
قديم 12-12-2007, 12:28 AM
vxd vxd غير متصل
عضو
 
تاريخ التسجيل: Nov 2006
مشاركة: 10
مستوى تقييم العضوية: 0
vxd is on a distinguished road
الافتراضي

مشكوررر اخى على الشرح اكتر من رائع






التوقيع
شبكه نور العرب لخدمات الويب المتكامله .
www.nouralarab.net
www.nouralarab.net/support
  #33  
قديم 26-12-2007, 08:29 PM
الملثمه الملثمه غير متصل
عضو
 
تاريخ التسجيل: Jun 2007
مشاركة: 7
مستوى تقييم العضوية: 0
الملثمه is on a distinguished road
الافتراضي

شكرا لك استاذي على الشرح و الامثلة الأكثر من رائع
في انتظار كل جديد من ابداعكم






التوقيع
منتديات الملثمه ترحب بكم

زورونا يمكن تحبونــا

http://www.v4444v.com/vb

حياكم اللـه
  #34  
قديم 29-12-2007, 09:35 PM
LORD4SYR LORD4SYR غير متصل
عضو
 
تاريخ التسجيل: Oct 2005
مشاركة: 64
مستوى تقييم العضوية: 19
LORD4SYR is on a distinguished road
الافتراضي

شكرا لك على الموضوع ..





  #35  
قديم 03-01-2008, 12:53 AM
X-TraTech X-TraTech غير متصل
عضو
 
تاريخ التسجيل: Jan 2008
مشاركة: 7
مستوى تقييم العضوية: 0
X-TraTech is on a distinguished road
Awt9 رائع جدا

يعطيك العافية

شيء جميل جدا،،

قمت بالتجربة و لكن واجهتني مشكلة خطأ في السطر التالي:
كود:
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
فما الحل ؟

تحياتي





  #36  
قديم 13-01-2008, 10:40 PM
dr.hsn dr.hsn غير متصل
عضو
 
تاريخ التسجيل: Jan 2008
مشاركة: 33
مستوى تقييم العضوية: 0
dr.hsn is on a distinguished road
الافتراضي

مشكووووووووووووور





  #37  
قديم 23-01-2008, 11:45 PM
fdi fdi غير متصل
عضو
 
تاريخ التسجيل: Jul 2005
مشاركة: 3
مستوى تقييم العضوية: 0
fdi is on a distinguished road
الافتراضي

مشكور على الشرح الرئع
جزاك الله خيرا





  #38  
قديم 04-02-2008, 08:33 AM
الصورة الشخصية لـ شركة يور سيرف
شركة يور سيرف شركة يور سيرف غير متصل
عضو
 
تاريخ التسجيل: Oct 2005
مشاركة: 438
مستوى تقييم العضوية: 19
شركة يور سيرف is on a distinguished road
إرسال رسالة عبر MSN إلى شركة يور سيرف إرسال رسالة عبر Yahoo إلى شركة يور سيرف
الافتراضي

تسلم الايادى شرح وافر






التوقيع
* إسم الشركة : شركة يور سيرف لتكنولوجيا المعلومات
* صاحب الشركة : إسلام جمال عبد السميع
* خدمات الشركة : استضافة -حجز نطاقات-ريسيلرات-vps-تقديم المحتوى وتعبئة المواقع-دعم فنى- رسائل قصيرة - راديو
* هاتف الشركة : 00201003720435
* بريد الشركة : support@yourserv.com
* روابط الشركة : WwW.YourServ.CoM
* طرف الدفع :جميع البنوك -البريد المصرى - ويسترن يونيون-كل البنوك
  #39  
قديم 18-02-2008, 03:12 AM
arabservice arabservice غير متصل
عضو
 
تاريخ التسجيل: Mar 2007
مشاركة: 15
مستوى تقييم العضوية: 0
arabservice is on a distinguished road
الافتراضي

شكرا عالموضوع الرائع ..





  #40  
قديم 04-03-2008, 07:58 AM
جرحي نت جرحي نت غير متصل
عضوية مغلقة
 
تاريخ التسجيل: Feb 2008
مشاركة: 15
مستوى تقييم العضوية: 0
جرحي نت is on a distinguished road
الافتراضي

ماشاء الله عليك


يعطيك الف عافيه





موضوع مغلق




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

كود vB متاح
كود [IMG] متاح
كود HTML مغلق
إنتقل إلى


جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 10:33 AM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


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

صحيفة متخصصة في متابعة أخبار وجديد الإنترنت العربي
والحوارات الصحفية ومعلومات تقنية متنوعة .

   
 
 

للتواصل مع فريق عمل الويب العربي
يمكنك ذالك من خلال مركز الدعم والمساندة.

 الدعم الفني |  اعتماد العضويات |  قوانين الإنتساب |  إتفاقية الإستخدام |  أهداف الويب العربي |  دليل الشركات |  مكتبة الويب |  صحيفة الويب العربي |  الرئيسية