جهِّز نفسك لسوالف كاست، واحصل على Macbook Air
ويكيمانيا 2008. الإسكندرية، من 17 وحتى 19 يوليو

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > ويب 2.0 و البرمجية القياسية Ajax +XML+ CSS+ JavaScript وغيرها
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: May 2006-
#1 (permalink)  
استخدم الاجاكس بثلاثة خطوات فقط (اسهل الطرق للتعامل مع الاجاكس)


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

استخدمت هذا الكود فى اكتر من موقع www.nilesolutions.biz
- www.design4host.com

فقط ثلاثة خطوات

1- اضف الملف الحاوى للاكواد
كود:
<script src="ajax.js" type="text/javascript"></script>
2- حدد id الكائن الذى تريد تغيير محتواه بالاجاكس
id هو هوية الكائن يجب ان يكون غير مكرر ويضاف فقط للكائنات المسموح لها بذلك مثل div . p الخ

مثل
كود:
<div id="myid"></div>
3- استخدام الدالة التى تعمل على جلب المحتوى للصفحة
يمكن استخدام الدالة فى الاحداث
مثل onclick, onload , onkeyup

ويمكن استخدام الدالة ايضا مع الروابط
مثل
كود:
open <a  onclick="loadContent( 'mydiv1', 'http://www.swalif.net/softs', true ) ; return false;"  href="http://www.swalif.net/softs" > Swalif </a> in This page;


كود:
onclick="loadContent( 'MY_DIV_ID', 'URL', DONTUSECACHE ) ; return false;"

MY_DIV_ID  = ID الكائن المراد اضافة محتوى ناتج الاجاكس
URL = رابط الصفحة المراد جلبها بالاجاكس
DONTUSECACHE TRUE ? FALSE = عدم استخدام الكاش ؟
معلومة هامة
من اهم عيوب الاجاكس عدم تعرف محركات البحث على محتوى الصفحات المضافة بها لان
محرك البحث ما هو الا اداه تعمل على قراءة النصوص المميزة المعروضة بداخل الصفحة ولا يؤثر معها ولا ملفات ال css ولا حتى اكواد ال javascript
لذا ما يطلع عليه محرك البحث هوا فقط ما يعرض فى الصفحة بواسطة ال html فقط

لذا اذا اردت استخدام الاجاكس لا تقم بجعل الدالة بداخل ال
href="http://www.swalif.net/softs"
بل اترك الرابط كما هو
واضف الدالة فى الحدث onclick
واضف return false;
بعد الدالة ولذلك لالغاء عملية فتح الرابط والانتقال للصفحة الاخرى
وبذلك يستطيع محرك البحث الدخول الى بقاقى صفحات الموقع وحتى ان كانت اجزاء تحمل بالاجاكس ويتمتع الزائر بتقنية الاجاكس بسرعة العرض

الكود ومثال فى هذا الملف المضغوط

http://www.nilesolutions.biz/examples/Ajax.rar

وتطبيق حى على استخدام الاجاكس
http://www.nilesolutions.biz/example...imple_ajax.php



تحياتى للجميع






__________________
NileSolutions.biz Creative Web Engineering
Php,Perl,Xhtml,Javascript,Css C++
ejasoft غير متواجد حالياً   قديم 24-02-2007, 10:01 PM
رد مع اقتباس
خبير JavaScript
تاريخ التسجيل: Jul 2002-
Blog Entries: 15
#2 (permalink)  

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






Zizwar غير متواجد حالياً   قديم 25-02-2007, 04:37 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#3 (permalink)  

شكرا لمرورك اخى Zizwar
بالفعل لايمكن فتح سوالف مش مشكلة ححاول احط اى لينك اخر

لابمناسبة التحديث التلقاءى عن طريق التايم اوت
وجدت بعض ال bug عند استخدامى لها فى اكثر من اكسريبت بالنسبة للمتصفح ie حيث انها تأخد الكثير من الميمورى وتسبب ال memory leak bug
ولا اجد لها اى حل حتى الان غير جعل العملية محدودة مثلا 5 او عشر مرات للتحديث وبعدها الغاء التايم اوت

هل يوجد حل للموضوع ؟ الخاص بالتايم اوت ؟






__________________
NileSolutions.biz Creative Web Engineering
Php,Perl,Xhtml,Javascript,Css C++
ejasoft غير متواجد حالياً   قديم 25-02-2007, 09:54 PM
رد مع اقتباس
خبير JavaScript
تاريخ التسجيل: Jul 2002-
Blog Entries: 15
#4 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة ejasoft
شكرا لمرورك اخى Zizwar
بالفعل لايمكن فتح سوالف مش مشكلة ححاول احط اى لينك اخر

لابمناسبة التحديث التلقاءى عن طريق التايم اوت
وجدت بعض ال bug عند استخدامى لها فى اكثر من اكسريبت بالنسبة للمتصفح ie حيث انها تأخد الكثير من الميمورى وتسبب ال memory leak bug
ولا اجد لها اى حل حتى الان غير جعل العملية محدودة مثلا 5 او عشر مرات للتحديث وبعدها الغاء التايم اوت

هل يوجد حل للموضوع ؟ الخاص بالتايم اوت ؟
استعمل الدالة القياسية setInterval فهي الدالة الزمنية التي تتكرر دون منادات خارجية و بالتالي لا تأخد من الذاكرة الشيء الكثير الا ان يكون السكيربت او الشيء المراد معالجته يأكل من الذاكرة أصلا
وهذا مثال لعداد
كود PHP:
<script type="text/javascript">
<!--
var 
1;
var 
time 500//1000 = 1second
var actif window.setInterval(function(){
    if(
== 23){ 
    
window.clearInterval(actif); // هذه الدالة تقوم بإلغاء دالة التوقيت
    
}
    
document.title p// 
    
p++;
    },
time);
//-->
</script> 
ويمكن استعمال الدالة ك
كود PHP:
<script type="text/javascript">
<!--
var 
1;
var 
time 500;
var 
actif;
wino = function(){
if(
== 23){ 
    
window.clearInterval(actif); 
    }
    
document.title p
    
p++;
}
actif window.setInterval("wino()",time); 
//-->
</script> 






Zizwar غير متواجد حالياً   قديم 26-02-2007, 01:45 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#5 (permalink)  

شكرا لردك اخى الكريم Zizwar
بالفعل هذا اللى اقصده وانها ايضا محددة فى عدد مرات التنفيذ لاكن انها ان كانت تعمل باستمرار تسبب هذه المشكلة
ايضا
memory leak bug

وكلامك صحيح ان كان الاسكريبت او الدالة المستداعة ممكن اللى بتكون تاخد ميمورى من الجهاز
لاكن للاسف جربت حتى مع alert كل مثلا 5 دقائق ولمدة نص ساعة وجدت الاكسبلولر وصل لاكتر من 80 ميجا فى التاسكمانجر

وجدت حل اخر لكود ينفذ موضوع sleep الموجود فى ال php لاكن وجدت اسواء حيث انه ياخد كمية رهيبة من الميمورى فى اى متصفح
وجارى البحث عن حل للموضوع (بدأت فى استخدام مكتبة الياهو ووجدت انها رأئعة لاكن للاسف حجمها كبير )
شكرا لك






__________________
NileSolutions.biz Creative Web Engineering
Php,Perl,Xhtml,Javascript,Css C++
ejasoft غير متواجد حالياً   قديم 26-02-2007, 03:21 PM
رد مع اقتباس
رد


أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 06:18 PM بتوقيت المملكة العربية السعودية