إضافة التحكم بالاهتزاز في كوردوفا
هذه الإضافة متوافقة مع مواصفات الاهتزاز. إذ توفر طريقة للتحكم في اهتزاز الجهاز.
تعرّف هذه الإضافة كائناتٍ عامة، من بينها الكائن navigator.vibrate
.
على الرغم من أنّ هذه الكائنات موجودة في النطاق العام (global scope)، إلا أنّها لن تكون متاحة إلا بعد إطلاق الحدث deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.vibrate);
}
التثبيت
يمكن تثبيت هذه الإضافة عبر الأمر التالي:
cordova plugin add cordova-plugin-vibration
المنصات المدعومة
- أندرويد
- iOS
- ويندوز
يدعم عارض أندرويد (ذو الواجهة البرمجية من المستوى 19 وما يليه) الواجهةَ البرمجية لمواصفات الاهتزاز من W3C بشكل أصلي، وتبعًا لذلك، فقد تم تجاوز مواصفات التقديم (implementation) الخاص بأندرويد لهذه الإضافة.
vibrate
تقوم هذه الدالة بثلاث وظائف مختلفة، بناءً على المعاملات المُمرّرة إليها.
الاهتزاز العادي (Standard vibrate)
عند تمرير عددٍ أو مصفوفة تحتوي عددًا واحدًا غير معدومٍ إلى هذه الدالة، فسيهتز الجهاز للفترة التي يحددها ذلك العدد.
navigator.vibrate(time)
أو
navigator.vibrate([time])
المعاملات
time
: مدة الاهتزاز بالميليثواني. (عدد)
مثال
// الاهتزاز لثلاث ثواني
navigator.vibrate(3000);
// الاهتزاز لثلاث ثواني
navigator.vibrate([3000]);
ملاحظات خاصة بمنصة أندرويد
استدعاء navigator.vibrate
سيعيد فورًا القيمة false
إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن خلال الاهتزاز. يرجى مرجعة هذه الصفحة لمزيد من المعلومات.
ملاحظات خاصة بمنصة iOS
time
: تتجاهل منصة iOS الوقت المحدد، إذ يهتز الجهاز لمدة محددة مسبقًا.
navigator.vibrate (3000) // 3000 يتم تجاهله
ملاحظات خاصة بويندوز
time
: الحد الأقصى للمدة الزمنية هو 5000 ميليثانية (5 ثوانٍ)، والحد الأدنى هو 1 ميلييثانية
navigator.vibrate (8000) // 5000 سيتم تحويلها إلى
الاهتزاز وفق نمط معين (أندرويد وويندوز فقط)
عند تمرير مصفوفة غير أحادية، فسيهتز الجهاز وفق نمط معين.
navigator.vibrate(pattern);
معاملات
pattern
: تسلسل من المُدَدِ الزمنية (بالميليثانية) لتشغيل الاهتزاز أو توقيفه. (مصفوفة من الأعداد)
مثال
// الاهتزاز لثانية واحدة
// ثم الانتظار ثانية واحدة
// ثم الاهتزاز ثلاث ثوانٍ
// ثم الانتظار ثانية واحدة
// ثم الاهتزاز لخمس ثوانٍ
navigator.vibrate([1000, 1000, 3000, 1000, 5000]);
إلغاء الاهتزاز (غير مدعوم في منصة iOS)
للإلغاء الفوري لأيّ اهتزاز حاليً، مرر الصفر، أو مصفوفة أحادية تحتوي الصفر، أو مصفوفة فارغةً إلى التابع.
navigator.vibrate(0)
أو
navigator.vibrate([])
أو
navigator.vibrate([0])
انظر أيضًا
- إضافة حالة البطارية
- إضافة حالة الجهاز
- دليل تطوير الإضافات في كوردوفا