الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كلام في ال HTML5 [الجزء الثاني]

بدأه *خلدون خالد* في 20 مارس 2010 · 7 رد · 2,061 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

الجزء الأول هنا..

لنتحدث الآن عن بعض الأشياء الجديدة الأخرى في ال HTML5:

HTML5 Forms

أي النماذج في ال HTML5.

كلنا يعرف النماذج في ال HTML. حيث دائما ما كنا نبدأ بإستخدام الوسم <From> نضع بعدها بعض كائنات ال <input type="Text"> ثم ننهي النموذج بال <input type=”submit”> و هذا كل شيئ!!

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

Place Holder Text

أو النص البديل، وهي خاصية جديدة في الوسم <input> وهو عبارة عن نص يتم إظهارة داخل مكون الإدخال، لمساعدة المستخدمين على معرفة الشيئ الذي يجب عليه إدخاله. يكون النص البديل ظاهرا طالما أن أداة الإدخال فارغة و لا تحتوي على مؤشر الكتابة. عندما يقوم المستخدم بكتابة شيئ داخل أداة الإدخال (أو على الأقل وضع مؤشر الكتابة بداخلها) يتم إخفاء النص.

فكرة النص البديل موجودة مسبقا، و أعتقد أنك قد رأيتها (مربع البحث في الفيرفوكس و الإكسبلورر مثلا). ولكن عملية إضافتها إلى صفحة الإنترنت كانت تكلفنا 5-10 أسطر جافا سكربت. أما في الHTML5 فالحياة سهلة، كل ما عليك هو إعطاء قيمة للخاصية placeholder في الوسم <input>:

<form>
  <input name="q" placeholder="Search the Site">
  <input type="submit" value="Search">
</form>

و النتائج على الشكل التالي:

post-133895-12690931256289_thumb.png

post-133895-12690931511477_thumb.png

تم تنفيذ المثال بإستخدام ال Safari 4.0.4، المتصفحات التي لا تدعم هذه الخاصية سوف تقوم بتجاهلها ببساطة ولن تظهر نصا بديلا.

autofocus

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

نعم هذه هي خاصية ال autofocus حيث يتم توجيه تركيز مؤشر الكتابة إلى أداة الإدخال المطلوبة بشكل مباشر. حيث يصبح بمجرد قيامك بفتح الصفحة بإمكانك الكتابة (الإدخال) في أداة الإدخال المطلوبة.

طبعا جوجل لا تستخدم ال HTML5 في صفحتها بعد، ولكن خاصية ال autofocus التي يتم وضعها داخل الوسم <input> سوف توفر علينا و على جوجل العديد من أسطر الجافا سكربت.

بهذه الطريقة نستخدم هذه الخاصية:

<form>
  <input name="q" autofocus>
  <input type="submit" value="Search">
</form>

النتيجة: بمجرد قيامك بفتح الصفحة ستجد أن مؤشر الكتابة ينتظرك داخل أداة الإدخال q.

ماذا تتوقع أن يحصل إن إستخدمناها مع خاصية ال placeholder؟؟ :wink:

Input types

كما قلنا أن الوسم input هو أكثر الوسوم في النماذج التي حصلت تعديلات و إضافات، و أكثر هذه التعديلات أهمية هي أنواع ال input التي من الممكن أن تأخذها.

Email, Url

بإمكانك إستخدام هذين النوعين للوسم input، من أجل عمل أداة إدخال تستقبل بريد إلكتروني أو رابط إنترنت.

مثال:

<form>
	<input type="email">
	<input type="submit" value="submit">
</form>

أو من اللمكن إستخدام القيمة “Url” بدلا من “Email” من أجل إستقبال رابط إنترنت.

ولكن ما الهدف من هذه الخيارات؟! قد لا تجد فرقا مرئيا عند تجربتك للمثال السابق، ولكن تأكد أن هنالك العديد من الفوائد من إستخدام هذه الأنواع. على سبيل المثال لا الحصر: بعض المتصفحات تقوم بإظهار أيقونه صغيرة بجانب أداة الإدخال تمثل البريد الإلكتروني أو رابط الإنترنت. من الممكن أيضا أن تقوم بعض المتصفحات بعمل تدقيق على القيمة المدخلة في هذه الأدوات هل هذا بريد إلكتروني صحيح، هل هذا رابط إنترنت صحيح. مثلا (example.example.com) ليس بريدا صحيحا.

فائدة أخرى نجنيها من هذه الأنواع، في بعض الأجهزة مثل أجهزة الموبايل (iPhone, Android...) التي تقوم بإظهار لوحة مفاتيح على الشاشة. من الممكن أن تقوم بتخصيص لوحة المفاتيح بحيث تقوم بإظهار بعض الرموز المتعلقة بأداة الإدخال الحالية. مثلا يمكن إظهار زر @ عندما تكون أداة الإدخال من النوع “email”. لاحظ الصور.

post-133895-12690943650743_thumb.png post-133895-12690943880532_thumb.png

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

Numbers input tools

نعم أقصد أدوات إدخال الأرقام.

وهل الأرقام تحتاج لأدوات إدخال؟؟!! نعم يا حبيبي، قد تحتاج الأرقام لأدوات الإدخال.

لنفترض أنك تريد من المستخدم أن يقوم بإدخال رقم زوجي بين ال 0 و ال 10. وقمت بإعطائه أداة إدخال عادية، ما هي القيم التي سوف يكون بإمكانه إدخالها؟؟ ببساطة أي رقم موجب او سالب بين ال –مالانهاية إلى الموجب مالانهاية. إذا مالحل؟ الحل هو أن تستخدم أداة Slider أو شريط تمرير، يقوم المستخدم بتمريره من أجل الحصول على القيمة المطلوبة، طبعا أنت سوف تكون قد حددت المدى الذي يستطيع هذا الشريط المرور عليه وقيمة الزيادة.

Number

حسنا لنرجع لل HTML، بإمكانك إعطاء الوسم input في خاصية النوع القيمة “Number”، ما يعني أن أداة الإدخال تلك تتوقع إستقبال رقم، و بإمكانك أيضا إعطائها المزيد من الخصائص بحيث تستطيع الحصول على أداة لإختيار الأرقام، -التجربة خير برهان-: إليك المثال التالي:

<input type="number"
       min="0"
       max="10"
       step="2"
       value="4">

الخصاصية type معروفة، و هنا نخبر المتصفح اننا نريد أداة إدخال من النوع رقم. الخاصية min و max تمثل القيم العليا و الدنيا التي نريد إستقبالها من المستخدم. الخاصية step تمثل قيمة الإنتقال بين الأرقام، يعني (في مثالنا) لو كان الرقم الحالي 4 و إنتقلنا خطوة للأعلى يتم زيادة 2 و يصبح الرقم 6. الخاصية value أيضا معروفة و تمثل القيمة الإفتراضية.

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

post-133895-12690934069901_thumb.png

متصفح ال iPhone مثلا تعطيك شيئ شبيه بذلك ولكن بما يتناسب مع لوحة المفاتيح الوهيمة و طبيعة الجهاز. المتصفحات التي لا تدعم هذه الخاصية بعد تقوم بإظهار مربع نص فارغ فقط.

Range

هو أحد أنواع إدخال الأرقام أيضا، ولكن هنا سوف تحصل على شريط منزلق لكي تختار الرقم الخاص بك.

إستخدامه بنفس طريقة ال number فقط عليك تغيير ال type إلى “range”:

<input type="range"
       min="0"
       max="10"
       step="2"
       value="6">

غالبية المتصفحات تدعم هذا النوع، حيث سوف تحصل على:

post-133895-12690934650455_thumb.png

Date and Time Pickers

كل من صمم نموذج تسجيل مبني على أحد تقنيات الويب، إصطدم بموضوع أدوات إختيار الوقت و التاريخ في نموذجه، و كان يحتار بين عمل أدوات إختيار مبنية على الجافا سكربت أم على أحد تقنيات ال Server Side. الخبر الجميل و الجديد أن ال HTML5 أصبح يدعم أدوات الإدخال تلك، حيث اصبح بإمكانك و بكتابة سطر واحد الحصول على أداة لإدخال الوقت أو التاريخ.

حيث و من خلال الوسم input أصبح بإمكانك إستخدام في الأنواع التالية:

  • type="date"

  • type="month"

  • type="week"

  • type="time"

  • type="datetime"

  • type="datetime-local"

كل نوع واضح من الإسم الخاص به، دعنا نجرب المثال التالي في ال Opera:

<input type="datetime">
<input type="time">
<input type="week">

في ال Date Time ستحصل على:

post-133895-12690936422813_thumb.png

في ال Time: سوف تحصل على:

post-133895-12690936706882_thumb.png

و في ال Week سوف تحصل على:

post-133895-12690936890393_thumb.png

بهذا سوف توفر علينا ال HTML5 الكثير من عمليات البحث و التنقيب عن أدوات لإدخال الوقت و التاريخ إلى مواقعنا.

Color Picker

كما هو الحال مع الوقت و التاريخ، يوفر لنا ال HTML5 نوع من أدوات الإدخال من أجل إختيار الألوان، حيث يقوم المتصفح بعرض لوحة الألوان ويمكن للمستخدم إختيار أحد هذه الألوان. لكن ولسوء الحظ هذه الميزة ليس مدعومة في أي متصفح بعد:(!!

Search Boxes

بإمكانك إعطاء الوسم input القيمة “Search”، حيث يصبح بإمكان المتصفح الخاص بك معرفة أن هذا المربع موجود في أحد نماذج البحث.

<form>
  <input name="q" type="search">
  <input type="submit" value="Go">
</form>

في بعض المتصفحات لن تلاحظ أي إختلاف في النتيجة عنها لو كانت type=”text”، ولكن في البعض الآخر مثل ال Safari و ال Chrome سوف تحصل -عند كتابتك لشيئ داخل هذا المربع- على زر x صغير يقوم بمسح المحتويات. إذا كنت تستخدم نظام Mac سوف تلاحظ أن مربع الإدخال سوف يأتي بشكل مدور من الزوايا:

post-133895-12690937788978_thumb.png


هذا كل شيئ في هذا الجزء.

في الجزء الثالث (و الأخير) سوف نتحدث عن ال Canvas بإذن الله.

• في حال وجود ملاحظات أو أخطاء أرجو إرسالها.

• بإنتظار تعليقاتكم و مناقشتكم

يتبع...

خلدون خالد.

تم تعديل هذه المشاركة بواسطة *خلدون خالد* في 20 مارس 2010 في 17:19

3
#2

بارك الله فيك اخي خلدون موضوع جميل وشرح رائع ..

بالتوفيق

#3

الله يعطيك العافة صديقي خلدون

لكن سؤال جميع الوسوم بالاعلى يمكن تطبيقها بالجافا سكريبت

ونحن نعرف المستعرض سفاري بانه يعتمد اعتماد وثيق على الجافا سكريبت

السؤال هل تفرق بالسرعة بين تطبيق هذه الوسوم ك html

و javascript

ام عبارة عن اختصار للكود

متا بع ...

In bad state

#4

السلام عليكم اخ خلدون

بارك الله فيك منتظرين جديدك

#5

أهلا بكم إخوتي جميعا.

اقتباس
لكن سؤال جميع الوسوم بالاعلى يمكن تطبيقها بالجافا سكريبت

ونحن نعرف المستعرض سفاري بانه يعتمد اعتماد وثيق على الجافا سكريبت

السؤال هل تفرق بالسرعة بين تطبيق هذه الوسوم ك html

و javascript

ام عبارة عن اختصار للكود

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

أما الجافا سكربت فيتم تنفيذه من خلال محرك الجافا سكربت الخاص بالمتصفح.

ولكن حسب توقعي أن تنفيذ الوسوم أسرع من تنفيذ الجافا سكربت

#6

موضوع رائع أخي خلدون HTML5 هي المستقبل و ستعتمد بإذن الله 2012 على مسئولية Ian Hickson المهندس بجوجل و المسئول عن تطوير مواصفات html5

AsJsGle كتب:

الله يعطيك العافة صديقي خلدون

لكن سؤال جميع الوسوم بالاعلى يمكن تطبيقها بالجافا سكريبت

ونحن نعرف المستعرض سفاري بانه يعتمد اعتماد وثيق على الجافا سكريبت

السؤال هل تفرق بالسرعة بين تطبيق هذه الوسوم ك html

و javascript

ام عبارة عن اختصار للكود

متا بع ...

بالنسبة لمعمارية مستعرض سفاري فهو مبني على محرك webkit

وهذا المحرك ينقسم إلى قسمين أساسيين web core وهي المسئولة عن عرض ال DOM

و القسم الآخر وهو JavaScriptCore و يستخدم سفاري إبتداءا من النسخة الرابعة SquirrelFish أوكما يطلقون عليه Nitro

ولهذا فتنفيذ العمليتان منفصلان نوعا ما إلا في ال apis التى توفرها html5 للجافاسكريبت

و لكن إذا تجاوزنا عن هذا أنا متفق تماما مع أخى خلدون أن تنفيذ وسوم Html5 أسرع من تنفيذ الجافاسكريبت

لا تراجع و لا إستسلام

#7

مشكورين اصدقائي

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

لكن الامر لا يتوقف عند سفاري ولكن يتعداه لكروم والفير فوكس

بكل احوال مانو مهم بايا شي تصمم

ما رح تفرق شي يذكر

تم تعديل هذه المشاركة بواسطة AsJsGle في 23 مارس 2010 في 18:40

In bad state

#8

توفير وقت كبير

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

هل سنرى في هذه المشاركه الرائعه هذه الأمور ؟

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

مواضيع مشابهة