مدونة إحترف برمجة المواقع مع الأخ برحاب زكرياء

الأحد، 1 أكتوبر 2017

 الدرس 11 : تخزين البيانات على الويب

تخزين البيانات على الويب



يعتبر التخزين على الويب أفضل من عملية التخزين باستخدام الكوكيز .


ماهي عملية تخزين البيانات على الويب في HTML5 ؟


باستخدام لغة HTML5 يمكن حفظ بيانات المستخدم محلياً على جهازه الشخصي .
قبلاً كان تخزين البيانات يتم محلياً كالكوكيز ولكن يعتبر استخدام تخزين البيانات على شبكة الويب أكثر أماناً و سرعة . حيث لا يتم تخزين البيانات في كل عملية ارسال للسيرفر بل عند السؤال فقط . كما أنه يمكن تخزين كميات كبيرة من البيانات و بدون أي تأثير على حركة الموقع .


المتصفحات الداعمة


 |  |  |  | 

عملية تخزين البيانات على الويب مدعومة من جميع المتصفحات .


ماهو localStorage و sessionStorage


يوجد نوعان من الكائنات التي تقوم بعملية تخزين البيانات :
  • localStorage : يخزن البيانات بدون تاريخ محدد لانتهاء المدة .
  • sessionStorage : يخزن البيانات لجلسة واحدة .

قبل البدء بتجربة التخزين على الويب يجب أولاً التاكد فيما اذا كان المتصفح يدعم localStorage و sessionStorage  :

if(typeof(Storage)!=="undefined")
{
// نعم! متصفحك يدعم localStorage و sessionStorage
// بعض الكود
}
else
{
// للأسف المتصفح لايدعم تلك الخاصيات
}




الكائن localStorage


يخزن الكائن localStorage البيانات بدون أي تاريخ او وقت لانتهاء مدة التخزين . كما أنه لن يتم حذف هذه البيانات عند اغلاق المتصفح وستكون متوفرة في اليوم التالي أو الاسبوع أو الشهر أو السنة التالية أيضاً .
مثال
localStorage.lastname="Smith";
document.getElementById("result").innerHTML="Last name: "
+ localStorage.lastname;


شرح المثال السابق 

  •  قمنا بإنشاء localStorage زوج من المفتاح و القيمة key/value أي أن المفتاح هوkey="lastname" و القيمة value="Smith" .
  •  استرجاع قيمة lastname و إضافتها الى العنصر الجديد الموجود ضمن id="result" .

ملاحظة : يتم تخزين المفتاح و القيمة key/value كنص عادي strings كما أنه يجب تحويلهم الى صيغة أخرى عند الحاجة .

في المثال التالي سيتم عدّ المرات التي نقر عليها المستخدم و في هذه الحالة تم تحويل الصيغة الى رقم لكي يزداد الرقم عند العدّ :

if (localStorage.clickcount)
{
localStorage.clickcount=Number(localStorage.clickcount)+1;
}
else
{
localStorage.clickcount=1;
}
document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";



الكائن sessionStorage


يعتبر الكائن  sessionStorage شبيه للكائن localStorage باستثناء أنه يخزن البيانات لجلسة واحدة فقط . كما أنه سيتم حذف هذه البيانات عند اغلاق المتصفح .
يقوم المثال التالي بعدّ المرات التي قام المستخدم بالنقر على الأيقونة في الجلسة الحالية :

if (sessionStorage.clickcount)
{
sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;
}
else
{
sessionStorage.clickcount=1;
}
document.getElementById("result").innerHTML="You have clicked the button " + se

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

التسميات

إتصل بنا
كن صديقًا لنا