إضافة التحكم بالاهتزاز في كوردوفا

من موسوعة حسوب
مراجعة 17:10، 23 ديسمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:إضافة التحكم بالاهتزاز في كوردوفا}}</noinclude> تصنيف: Cordova تصنيف: Plugin هذه الإ...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

 هذه الإضافة متوافقة مع مواصفات الاهتزاز.

توفر هذه اإضافة طريقة لاهتزاز الجهاز.

تعرّف هذه اإضافة كائنات عامة، من بينها الكائن 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، إلى إلغاء أي اهتزازات.

مصادر