من الواضح أن واجهة برمجة التطبيقات هذه تتيح لمبرمجي الأجهزة المحمولة استخدام JavaScript للاتصال بوظيفة اهتزاز الهاتف ويمكنها ضبط الطريق ومدة الاهتزاز.
تحديد دعم المتصفح لواجهة برمجة تطبيقات الاهتزاز
عادةً ما يتمثل في التحقق مما إذا كانت بيئة التطبيق الحالية ودعم المتصفح API قبل استخدامها. هذه هي طريقة الكشف:
// المعايير ftw! var supportsvibrate = "الاهتزاز" في الملاح ؛
لا يوجد سوى واجهة برمجة تطبيقات واحدة عن الاهتزاز في النافذة. كائن Navigator: يهتز.
التطبيق الأساسي لمواجهة واجهة برمجة تطبيقات الاهتزاز
يمكن أن تقبل وظيفة navigator.vibrate معلمة رقمية أو مجموعة من الأرقام. عند استخدام معلمات الصفيف ، فإن الأرقام الفردية هي عدد ثوان الاهتزاز ، والأرقام الزوجية هي عدد ثواني الانتظار.
// تهتز لمدة ثانية 1 navigator.vibrate (1000) ؛ // تهتز عدة مرات // تهتز المعلمات لمدة 3 ثوان ، وانتظر لمدة ثانيتين ، ثم تهتز لمدة ثانية واحدة من المستكشف. فيرات ([3000 ، 2000 ، 1000]) ؛
إذا كنت ترغب في إيقاف الاهتزاز ، فأنت بحاجة فقط إلى تمرير 0 إلى طريقة Navigator.vibrate ، أو صفيف فارغ:
// توقف الاهتزاز navigator.vibrate (0) ؛ navigator.vibrate ([]) ؛
تجدر الإشارة إلى أن استدعاء Navigator.vibrate لن يتسبب في اهتزاز الهاتف المحمول في حلقة ؛ عندما تكون المعلمة رقمًا ، يحدث الاهتزاز مرة واحدة بعد ذلك ثم يتوقف. عندما تكون المعلمة صفيفًا ، فإن الاهتزاز سوف يهتز وفقًا للقيمة في الصفيف ، ثم يتوقف عن الاهتزاز.
الاهتزاز المستمر
يمكننا ببساطة استخدام طرق SetInterval و Clearinterval لإنشاء تأثير تهتز الهاتف باستمرار:
var vibrateinterval ؛ // يبدأ النصر في تم تمريره في levelfunction startbibrate (المدة) {navigator.vibrate (المدة) ؛} // توقف وظيفة النصر stopvibrate () {// فاصل واضح ووقف الاهتزاز المستمر إذا (اهتزاز) clearinterval (اهتزاز) ؛ navigator.vibrate (0) ؛} // ابدأ الاهتزاز المستمر في المدة المعطاة والفاصل الزمني // يفترض أن قيمة العدد تُعطى وظيفة startPeristerVistervibrate (المدة ، الفاصل الزمني) {vibrateinterval = setInterval (function () {startBrate (duration) ؛} ، الفاصل الزمني) ؛}الرمز أعلاه هو فقط للحالة التي تكون فيها معلمة الاهتزاز رقمًا. إذا كانت المعلمة عبارة عن صفيف ، فأنت بحاجة أيضًا إلى حساب مدة الإجمالية ثم حلقة وفقًا لخصائصها.
سيناريوهات باستخدام API الاهتزاز
من الواضح أن واجهة برمجة التطبيقات هذه تهدف إلى أجهزة الهاتف المحمول. عند تطوير تطبيقات الهاتف المحمول عبر الهاتف المحمول ، فهي أداة تحذير جيدة ، ووظيفة الاهتزاز هذه تقنية لا غنى عنها وجيدة عند تطوير ألعاب الويب أو تطبيقات الوسائط المتعددة. على سبيل المثال ، عندما يقوم المستخدم بتشغيل لعبة الويب الخاصة بك بهاتف محمول ، عندما يحدث انفجار في اللعبة وتسمح للهاتف بالاهتزاز ، أليس تجربة مستخدم ممتازة؟
ما هو شعورك تجاه API JavaScript Vibration API؟ هل تعتقد أنه سيصبح شائعًا قريبًا؟ أم أنها ليست مفيدة جدا؟