إضافة التحكم بالاهتزاز في كوردوفا
هذه الإضافة متوافقة مع مواصفات الاهتزاز.
توفر هذه اإضافة طريقة لاهتزاز الجهاز.
تعرّف هذه اإضافة كائنات عامة، من بينها الكائن navigator.vibrate
.
على الرغم من أنّ هذه الكائنات موجودة في النطاق العام (global scope)، إلا أنّها لن تكون متاحة إلا بعد إطلاق الحدث deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.vibrate);
}
تنبيه: تقرير عن القضايا على Apache Cordova issue tracker
التثبيت
cordova plugin add cordova-plugin-vibration
المنصات المدعومة
navigator.vibrate
- أندرويد
- iOS
- ويندوز
يدعم عارض أندرويد (الواحهة البرمجية من المستوى 19 وما يليه) W3C Vibration API الأصلي، وتبعًا لذلك، فقد تم تجاوز مواصفات التقديم الخاصة بهذه الإضافة في أندرويد.
vibrate
تقوم هذه الدالةة بثلاث وظائف مختلفة، بناءً على المعاملات المُمرّرة إليها.
الاهتزاز العادي (Standard vibrate)
في هذا الوضع يهتز الجهاز لفترة محددة من الوقت.
navigator.vibrate(time)
أو
navigator.vibrate([time])
-time
: مدة الاهتزاز بالميليثواني. (عدد)
Example
// Vibrate for 3 seconds
navigator.vibrate(3000);
// Vibrate for 3 seconds
navigator.vibrate([3000]);
ملاحظات خاصة بمنصة أندرويد
استدعاء navigator.vibrate
سيعيد فورًا القيمة false
إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن حتى الآن. يرجى مرجعة https://issues.apache.org/jira/browse/CB-14022 لمزيد من المعلومات.
iOS Quirks
time
: تتجاهل منصة iOS الوقت المحدد، إذ يهتز الجهاز لمدة محددة مسبقًا.
navigator.vibrate (3000)؛ // يتم تجاهله 3000 ملاحظات خاصة بويندوز
time
: الحد الأقصى للمدة الزمنية هو 5000 ميليثواني (5 ثوانٍ)، والوقت الأدنى هو 1 ميلييثانية
navigator.vibrate (8000)؛ // سيتم تحويلها إلى 5000
الاهتزاز وفق نمط (أندرويد وويندوز فقط)
يهتز الجهاز وفق نمط معين
navigator.vibrate(pattern);
pattern
: تسلسل من المُدَدِ الزمنية (بالميليثانية) لتشغيل الاهتزاز أو توقيفه. (مصفوفة من الأعداد)
مثال
// Vibrate for 1 second
// Wait for 1 second
// Vibrate for 3 seconds
// Wait for 1 second
// Vibrate for 5 seconds
navigator.vibrate([1000, 1000, 3000, 1000, 5000]);
إلغاء الاهتزاز (غير مدعوم في منصة iOS)
لإلغاء أيّ اهتزاز حاليً على الفور، مرر الصفر إلى التابع.
navigator.vibrate(0)
أو
navigator.vibrate([])
أو
navigator.vibrate([0])
سيؤدي تمرير القيمة 0، أو مصفوفة فارغة، أو مصفوفة تحتوي على عنصر واحد يساوي 0، إلى إلغاء أي اهتزازات.