الفرق بين المراجعتين ل"Cordova/cordova plugin vibration"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:إضافة التحكم بالاهتزاز في كوردوفا}}</noinclude> تصنيف: Cordova تصنيف: Plugin هذه الإ...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:إضافة التحكم بالاهتزاز في كوردوفا}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:إضافة التحكم بالاهتزاز في كوردوفا}}</noinclude>
 
[[تصنيف: Cordova]]
 
[[تصنيف: Cordova]]
[[تصنيف: Plugin]]
+
[[تصنيف: Plugin]]
هذه الإضافة متوافقة مع مواصفات الاهتزاز.  
+
هذه الإضافة متوافقة مع [http://www.w3.org/TR/vibration/ مواصفات الاهتزاز]. إذ توفر طريقة للتحكم في اهتزاز الجهاز.
  
توفر هذه اإضافة طريقة لاهتزاز الجهاز.  
+
تعرّف هذه الإضافة كائناتٍ عامة، من بينها الكائن <code>navigator.vibrate</code>.  
  
تعرّف هذه اإضافة كائنات عامة، من بينها الكائن <code>navigator.vibrate</code>.
+
على الرغم من أنّ هذه الكائنات موجودة في النطاق العام (global scope)، إلا أنّها لن تكون متاحة إلا بعد إطلاق الحدث <code>[[Cordova/events#deviceready|deviceready]]</code>.  
 
 
على الرغم من أنّ هذه الكائنات موجودة في النطاق العام (global scope)، إلا أنّها لن تكون متاحة إلا بعد إطلاق الحدث <code>deviceready</code>.  
 
 
<syntaxhighlight lang="javascript">document.addEventListener("deviceready", onDeviceReady, false);
 
<syntaxhighlight lang="javascript">document.addEventListener("deviceready", onDeviceReady, false);
 
function onDeviceReady() {
 
function onDeviceReady() {
سطر 14: سطر 12:
 
}‎</syntaxhighlight>  
 
}‎</syntaxhighlight>  
  
تنبيه: تقرير عن القضايا على [https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22Plugin%20Vibration%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC Apache Cordova issue tracker]
+
== التثبيت ==
 
+
يمكن تثبيت هذه الإضافة عبر الأمر التالي:<syntaxhighlight lang="shell">cordova plugin add cordova-plugin-vibration‎</syntaxhighlight>  
=== التثبيت ===  
 
<syntaxhighlight lang="javascript">cordova plugin add cordova-plugin-vibration‎</syntaxhighlight>  
 
 
 
=== المنصات المدعومة ===
 
  
navigator.vibrate
+
== المنصات المدعومة ==
 
*أندرويد  
 
*أندرويد  
 
*iOS  
 
*iOS  
 
*ويندوز  
 
*ويندوز  
  
يدعم [[Cordova/webviews|عارض]] أندرويد (الواحهة البرمجية من المستوى 19 وما يليه) [https://www.w3.org/TR/vibration/ W3C Vibration API] الأصلي، وتبعًا لذلك، فقد تم تجاوز مواصفات التقديم الخاصة بهذه الإضافة في أندرويد.  
+
يدعم [[Cordova/webviews|عارض]] أندرويد (ذو الواجهة البرمجية من المستوى 19 وما يليه) [https://www.w3.org/TR/vibration/ الواجهة البرمجية لمواصفات الاهتزاز منW3C] بشكل أصلي، وتبعًا لذلك، فقد تم تجاوز مواصفات تقديم (implementation) هذه الإضافة في أندرويد.  
  
===vibrate===  
+
==<code>vibrate</code>==  
  
تقوم هذه الدالةة بثلاث وظائف مختلفة، بناءً على المعاملات المُمرّرة إليها.  
+
تقوم هذه الدالة بثلاث وظائف مختلفة، بناءً على المعاملات المُمرّرة إليها.  
==== الاهتزاز العادي (Standard vibrate) ====  
+
=== الاهتزاز العادي (Standard vibrate) ===  
  
في هذا الوضع يهتز الجهاز لفترة محددة من الوقت.  
+
عند تمرير عددٍ أو مصفوفة تحتوي عددًا واحدًا إلى الدالة، فسيهتز الجهاز للفترة التي يحددها ذلك العدد.  
 
<syntaxhighlight lang="javascript">navigator.vibrate(time)‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">navigator.vibrate(time)‎</syntaxhighlight>  
  
 
أو  
 
أو  
<syntaxhighlight lang="javascript">navigator.vibrate([time])‎</syntaxhighlight>  
+
<syntaxhighlight lang="javascript">navigator.vibrate([time])‎</syntaxhighlight>
  
-<code>time</code>: مدة الاهتزاز بالميليثواني. (عدد)  
+
==== المعاملات ====
Example
+
<code>time</code>: مدة الاهتزاز بالميليثواني. (عدد)
<syntaxhighlight lang="javascript">// Vibrate for 3 seconds
+
 
 +
==== مثال ====
 +
<syntaxhighlight lang="javascript">// الاهتزاز لثلاث ثواني
 
navigator.vibrate(3000);
 
navigator.vibrate(3000);
// Vibrate for 3 seconds
+
// الاهتزاز لثلاث ثواني
 
navigator.vibrate([3000]);‎</syntaxhighlight>  
 
navigator.vibrate([3000]);‎</syntaxhighlight>  
 
====ملاحظات خاصة بمنصة أندرويد ====  
 
====ملاحظات خاصة بمنصة أندرويد ====  
  
استدعاء <code>navigator.vibrate</code> سيعيد فورًا القيمة <code>false</code> إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن حتى الآن. يرجى مرجعة https://issues.apache.org/jira/browse/CB-14022 لمزيد من المعلومات.  
+
استدعاء <code>navigator.vibrate</code> سيعيد فورًا القيمة <code>false</code> إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن خلال الاهتزاز. يرجى مرجعة هذه [https://issues.apache.org/jira/browse/CB-14022 الصفحة] لمزيد من المعلومات.
iOS Quirks
+
 
 +
==== ملاحظات خاصة بمنصة iOS ====
 
* <code>time</code>: تتجاهل منصة iOS الوقت المحدد، إذ يهتز الجهاز لمدة محددة مسبقًا.  
 
* <code>time</code>: تتجاهل منصة iOS الوقت المحدد، إذ يهتز الجهاز لمدة محددة مسبقًا.  
 +
<syntaxhighlight lang="javascript">navigator.vibrate (3000)  // 3000  يتم تجاهله  </syntaxhighlight>
  
navigator.vibrate (3000)؛ // يتم تجاهله 3000
+
==== ملاحظات خاصة بويندوز ====
ملاحظات خاصة بويندوز  
+
* <code>time</code>: الحد الأقصى للمدة الزمنية هو 5000 ميليثانية (5 ثوانٍ)، والحد الأدنى هو 1 ميلييثانية  
* <code>time</code>: الحد الأقصى للمدة الزمنية هو 5000 ميليثواني (5 ثوانٍ)، والوقت الأدنى هو 1 ميلييثانية  
+
<syntaxhighlight lang="javascript">navigator.vibrate (8000)  // 5000 سيتم تحويلها إلى  </syntaxhighlight>
 +
=== الاهتزاز وفق نمط معين (أندرويد وويندوز فقط) ===
  
navigator.vibrate (8000)؛ // سيتم تحويلها إلى 5000
+
عند تمرير مصفوفة غير أحادية، فسيهتز الجهاز وفق نمط معين.
==== الاهتزاز وفق نمط (أندرويد وويندوز فقط) ====
+
<syntaxhighlight lang="javascript">navigator.vibrate(pattern);‎</syntaxhighlight>
  
يهتز الجهاز وفق نمط معين
+
==== معاملات ====
<syntaxhighlight lang="javascript">navigator.vibrate(pattern);‎</syntaxhighlight>
 
 
* <code>pattern</code>: تسلسل من المُدَدِ الزمنية (بالميليثانية) لتشغيل الاهتزاز أو توقيفه. (مصفوفة من الأعداد)  
 
* <code>pattern</code>: تسلسل من المُدَدِ الزمنية (بالميليثانية) لتشغيل الاهتزاز أو توقيفه. (مصفوفة من الأعداد)  
مثال  
+
 
<syntaxhighlight lang="javascript">// Vibrate for 1 second
+
==== مثال ====
// Wait for 1 second
+
<syntaxhighlight lang="javascript">// الاهتزاز لثانية واحدة
// Vibrate for 3 seconds
+
// ثم الانتظار ثانية واحدة
// Wait for 1 second
+
// ثم الاهتزاز ثلاث ثوانٍ
// Vibrate for 5 seconds
+
// ثم الانتظار ثانية واحدة
 +
// ثم الاهتزاز لخمس ثوانٍ
 
navigator.vibrate([1000, 1000, 3000, 1000, 5000]);‎</syntaxhighlight>  
 
navigator.vibrate([1000, 1000, 3000, 1000, 5000]);‎</syntaxhighlight>  
==== إلغاء الاهتزاز (غير مدعوم في منصة iOS) ====  
+
=== إلغاء الاهتزاز (غير مدعوم في منصة iOS) ===  
  
لإلغاء أيّ اهتزاز حاليً على الفور، مرر الصفر إلى التابع.  
+
للإلغاء الفوري لأيّ اهتزاز حاليً، مرر الصفر، أو مصفوفة أحادية تحتوي الصفر، أو مصفوفة فارغةً إلى التابع.  
 
<syntaxhighlight lang="javascript">navigator.vibrate(0)‎</syntaxhighlight>  
 
<syntaxhighlight lang="javascript">navigator.vibrate(0)‎</syntaxhighlight>  
  
سطر 77: سطر 76:
  
 
أو  
 
أو  
<syntaxhighlight lang="javascript">navigator.vibrate([0])‎</syntaxhighlight>  
+
<syntaxhighlight lang="javascript">navigator.vibrate([0])‎</syntaxhighlight>
 +
 
 +
== انظر أيضًا ==
 +
* إضافة <nowiki/>[[Cordova/cordova plugin battery status|حالة البطارية]]
 +
* إضافة [[Cordova/cordova plugin device|حالة الجهاز]]
 +
* [[Cordova/plugins|دليل تطوير الإضافات في كوردوفا]]
  
سيؤدي تمرير القيمة 0، أو مصفوفة فارغة، أو مصفوفة تحتوي على عنصر واحد يساوي 0، إلى إلغاء أي اهتزازات.
 
 
==مصادر==
 
==مصادر==
 
*[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-vibration/index.html صفحة cordova-plugin-vibration في توثيق كوردوفا الرسمي.]
 
*[https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-vibration/index.html صفحة cordova-plugin-vibration في توثيق كوردوفا الرسمي.]

مراجعة 17:29، 23 ديسمبر 2018

هذه الإضافة متوافقة مع مواصفات الاهتزاز. إذ توفر طريقة للتحكم في اهتزاز الجهاز.

تعرّف هذه الإضافة كائناتٍ عامة، من بينها الكائن 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])

انظر أيضًا

مصادر