الفرق بين المراجعتين لصفحة: «Cordova/cordova plugin vibration»
لا ملخص تعديل |
تحديث |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:إضافة التحكم بالاهتزاز في كوردوفا}}</noinclude> | <noinclude>{{DISPLAYTITLE:إضافة التحكم بالاهتزاز في كوردوفا}}</noinclude> | ||
[[تصنيف: Cordova]] | [[تصنيف: Cordova]] | ||
[[تصنيف: Plugin]] | [[تصنيف: Cordova Plugin]] | ||
هذه الإضافة متوافقة مع [http://www.w3.org/TR/vibration/ مواصفات الاهتزاز] | هذه الإضافة متوافقة مع [http://www.w3.org/TR/vibration/ مواصفات الاهتزاز] في W3، إذ توفر طريقة للتحكم في اهتزاز الجهاز. | ||
تعرّف هذه الإضافة كائناتٍ عامة، من بينها الكائن <code>navigator.vibrate</code>. | تعرّف هذه الإضافة كائناتٍ عامة، من بينها الكائن <code>navigator.vibrate</code>. | ||
سطر 16: | سطر 16: | ||
== المنصات المدعومة == | == المنصات المدعومة == | ||
*أندرويد | *[[Cordova/platforms android|أندرويد]] | ||
*iOS | *[[Cordova/platforms ios|iOS]] | ||
*ويندوز | *[[Cordova/platforms windows|ويندوز]] | ||
يدعم [[Cordova/webviews|عارض]] أندرويد (ذو الواجهة البرمجية من المستوى 19 وما يليه) [https://www.w3.org/TR/vibration/ | يدعم [[Cordova/webviews|عارض]] أندرويد (ذو الواجهة البرمجية من المستوى 19 وما يليه) [https://www.w3.org/TR/vibration/ الواجهةَ البرمجية لمواصفات الاهتزاز من W3C] بشكل أصلي؛ وتبعًا لذلك، فقد تم تجاهل مواصفات التقديم (implementation) الخاص بأندرويد لهذه الإضافة. | ||
==<code>vibrate</code>== | ==<code>vibrate</code>== | ||
سطر 27: | سطر 27: | ||
=== الاهتزاز العادي (Standard vibrate) === | === الاهتزاز العادي (Standard vibrate) === | ||
عند تمرير عددٍ أو مصفوفة تحتوي عددًا واحدًا إلى الدالة، فسيهتز الجهاز للفترة التي يحددها ذلك العدد. | عند تمرير عددٍ أو مصفوفة تحتوي عددًا واحدًا غير معدومٍ إلى هذه الدالة، فسيهتز الجهاز للفترة التي يحددها ذلك العدد. | ||
<syntaxhighlight lang="javascript">navigator.vibrate(time)</syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.vibrate(time) | ||
// أو | |||
navigator.vibrate([time])</syntaxhighlight> | |||
يمثِّل المعامل <code>time</code> عدد صحيح أو مصفوفة تحدِّد مدة الاهتزاز بالميلي ثواني. | |||
< | |||
إليك المثال التالي:<syntaxhighlight lang="javascript">// الاهتزاز لثلاث ثواني | |||
<syntaxhighlight lang="javascript">// الاهتزاز لثلاث ثواني | |||
navigator.vibrate(3000); | navigator.vibrate(3000); | ||
// الاهتزاز لثلاث ثواني | // الاهتزاز لثلاث ثواني | ||
سطر 43: | سطر 40: | ||
====ملاحظات خاصة بمنصة أندرويد ==== | ====ملاحظات خاصة بمنصة أندرويد ==== | ||
استدعاء <code>navigator.vibrate</code> سيعيد فورًا القيمة <code>false</code> إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن خلال الاهتزاز. يرجى | استدعاء <code>navigator.vibrate</code> سيعيد فورًا القيمة <code>false</code> إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن خلال الاهتزاز. يرجى مراجعة هذه [https://issues.apache.org/jira/browse/CB-14022 الصفحة] لمزيد من المعلومات. | ||
==== ملاحظات خاصة بمنصة iOS ==== | ==== ملاحظات خاصة بمنصة iOS ==== | ||
* <code>time</code> | * تتجاهل منصة iOS الوقت المحدد عبر المعامل <code>time</code>، إذ يهتز الجهاز لمدة محددة مسبقًا. | ||
<syntaxhighlight lang="javascript">navigator.vibrate (3000) // 3000 يتم تجاهله </syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.vibrate (3000) // 3000 يتم تجاهله </syntaxhighlight> | ||
==== ملاحظات خاصة بويندوز ==== | ==== ملاحظات خاصة بويندوز ==== | ||
* <code>time</code> | * الحد الأقصى للمدة الزمنية المحددة باستعمال المعامل <code>time</code> هو 5000 ميلي ثانية (5 ثوانٍ)، والحد الأدنى هو 1 ميلي ثانية | ||
<syntaxhighlight lang="javascript">navigator.vibrate (8000) // 5000 سيتم تحويلها إلى </syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.vibrate (8000) // 5000 سيتم تحويلها إلى </syntaxhighlight> | ||
=== الاهتزاز وفق نمط معين (أندرويد وويندوز فقط) === | === الاهتزاز وفق نمط معين (أندرويد وويندوز فقط) === | ||
عند تمرير مصفوفة غير أحادية، فسيهتز الجهاز وفق نمط معين. | عند تمرير مصفوفة غير أحادية، فسيهتز الجهاز وفق نمط معين. | ||
<syntaxhighlight lang="javascript">navigator.vibrate(pattern);</syntaxhighlight> | <syntaxhighlight lang="javascript">navigator.vibrate(pattern);</syntaxhighlight>يمثِّل المعامل <code>pattern</code> مصفوفة من الأعداد تحوي تسلسلًا من الفترات الزمنية (بالميلي ثانية) لتشغيل الاهتزاز أو إيقافه. | ||
اطلع على المثال التالي الذي يشرح ما سبق:<syntaxhighlight lang="javascript">// الاهتزاز لثانية واحدة | |||
<syntaxhighlight lang="javascript">// الاهتزاز لثانية واحدة | |||
// ثم الانتظار ثانية واحدة | // ثم الانتظار ثانية واحدة | ||
// ثم الاهتزاز ثلاث ثوانٍ | // ثم الاهتزاز ثلاث ثوانٍ | ||
سطر 69: | سطر 62: | ||
=== إلغاء الاهتزاز (غير مدعوم في منصة iOS) === | === إلغاء الاهتزاز (غير مدعوم في منصة iOS) === | ||
للإلغاء الفوري لأيّ اهتزاز حاليً، مرر الصفر، أو مصفوفة | للإلغاء الفوري لأيّ اهتزاز حاليً، مرر الصفر، أو مصفوفة تحتوي على الصفر فقط، أو مصفوفة فارغة إلى التابع <code>vibrate</code>. | ||
<syntaxhighlight lang="javascript">navigator.vibrate(0) | <syntaxhighlight lang="javascript">navigator.vibrate(0) | ||
// أو | |||
أو | navigator.vibrate([]) | ||
// أو | |||
navigator.vibrate([0])</syntaxhighlight>سيؤدي تمرير القيمة <code>0</code>، أو مصفوفة فارغة، أو مصفوفة أحادية تحتوي <code>0</code> إلى إلغاء الاهتزازات. | |||
أو | |||
== انظر أيضًا == | == انظر أيضًا == |
المراجعة الحالية بتاريخ 22:23، 3 ديسمبر 2020
هذه الإضافة متوافقة مع مواصفات الاهتزاز في W3، إذ توفر طريقة للتحكم في اهتزاز الجهاز.
تعرّف هذه الإضافة كائناتٍ عامة، من بينها الكائن navigator.vibrate
.
على الرغم من أنّ هذه الكائنات موجودة في النطاق العام (global scope)، إلا أنّها لن تكون متاحة إلا بعد إطلاق الحدث deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.vibrate);
}
التثبيت
يمكن تثبيت هذه الإضافة عبر الأمر التالي:
cordova plugin add cordova-plugin-vibration
المنصات المدعومة
يدعم عارض أندرويد (ذو الواجهة البرمجية من المستوى 19 وما يليه) الواجهةَ البرمجية لمواصفات الاهتزاز من W3C بشكل أصلي؛ وتبعًا لذلك، فقد تم تجاهل مواصفات التقديم (implementation) الخاص بأندرويد لهذه الإضافة.
vibrate
تقوم هذه الدالة بثلاث وظائف مختلفة، بناءً على المعاملات المُمرّرة إليها.
الاهتزاز العادي (Standard vibrate)
عند تمرير عددٍ أو مصفوفة تحتوي عددًا واحدًا غير معدومٍ إلى هذه الدالة، فسيهتز الجهاز للفترة التي يحددها ذلك العدد.
navigator.vibrate(time)
// أو
navigator.vibrate([time])
يمثِّل المعامل time
عدد صحيح أو مصفوفة تحدِّد مدة الاهتزاز بالميلي ثواني.
إليك المثال التالي:
// الاهتزاز لثلاث ثواني
navigator.vibrate(3000);
// الاهتزاز لثلاث ثواني
navigator.vibrate([3000]);
ملاحظات خاصة بمنصة أندرويد
استدعاء navigator.vibrate
سيعيد فورًا القيمة false
إذا لم ينقر المستخدم على الإطار (frame) أو أي إطار مضمن خلال الاهتزاز. يرجى مراجعة هذه الصفحة لمزيد من المعلومات.
ملاحظات خاصة بمنصة iOS
- تتجاهل منصة iOS الوقت المحدد عبر المعامل
time
، إذ يهتز الجهاز لمدة محددة مسبقًا.
navigator.vibrate (3000) // 3000 يتم تجاهله
ملاحظات خاصة بويندوز
- الحد الأقصى للمدة الزمنية المحددة باستعمال المعامل
time
هو 5000 ميلي ثانية (5 ثوانٍ)، والحد الأدنى هو 1 ميلي ثانية
navigator.vibrate (8000) // 5000 سيتم تحويلها إلى
الاهتزاز وفق نمط معين (أندرويد وويندوز فقط)
عند تمرير مصفوفة غير أحادية، فسيهتز الجهاز وفق نمط معين.
navigator.vibrate(pattern);
يمثِّل المعامل pattern
مصفوفة من الأعداد تحوي تسلسلًا من الفترات الزمنية (بالميلي ثانية) لتشغيل الاهتزاز أو إيقافه.
اطلع على المثال التالي الذي يشرح ما سبق:
// الاهتزاز لثانية واحدة
// ثم الانتظار ثانية واحدة
// ثم الاهتزاز ثلاث ثوانٍ
// ثم الانتظار ثانية واحدة
// ثم الاهتزاز لخمس ثوانٍ
navigator.vibrate([1000, 1000, 3000, 1000, 5000]);
إلغاء الاهتزاز (غير مدعوم في منصة iOS)
للإلغاء الفوري لأيّ اهتزاز حاليً، مرر الصفر، أو مصفوفة تحتوي على الصفر فقط، أو مصفوفة فارغة إلى التابع vibrate
.
navigator.vibrate(0)
// أو
navigator.vibrate([])
// أو
navigator.vibrate([0])
سيؤدي تمرير القيمة 0
، أو مصفوفة فارغة، أو مصفوفة أحادية تحتوي 0
إلى إلغاء الاهتزازات.
انظر أيضًا
- إضافة حالة البطارية
- إضافة حالة الجهاز
- دليل تطوير الإضافات في كوردوفا