الفرق بين المراجعتين لصفحة: «Cordova/events»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
[[تصنيف: Cordova]] | [[تصنيف: Cordova]] | ||
[[تصنيف: events]] | [[تصنيف: events]] | ||
توفر كوردوفا العديد من الأحداث التي يمكن استخدامها من قبل التطبيقات. | توفر كوردوفا العديد من الأحداث التي يمكن استخدامها من قبل التطبيقات. بحيث يمكن إضافة مُنصِتات (listeners) لها لمعالجتها. | ||
إليك | إليك المثال التالي المكون من ملفين. | ||
ملف [[HTML]]:<syntaxhighlight lang=" | ملف [[HTML]]:<syntaxhighlight lang="html"><!DOCTYPE html> | ||
<html> | <html> | ||
<head> | <head> | ||
سطر 53: | سطر 53: | ||
!ويندوز | !ويندوز | ||
|- | |- | ||
| | | <code>deviceready</code> | ||
|نعم | |نعم | ||
|نعم | |نعم | ||
سطر 63: | سطر 63: | ||
|نعم | |نعم | ||
|- | |- | ||
| | | <code>resume</code> | ||
|نعم | |نعم | ||
|نعم | |نعم | ||
سطر 73: | سطر 73: | ||
|نعم | |نعم | ||
|- | |- | ||
| | | <code>menubutton</code> | ||
|نعم | |نعم | ||
|لا | |لا | ||
سطر 112: | سطر 112: | ||
يُطلق الحدث <code>deviceready</code> عند تحميل كوردوفا بالكامل. هذا الحدث ضروري لأي تطبيق. إذ يُخطِر بأنّ واجهات كوردوفا البرمجية الخاصة بالجهاز قد تم تحميلها، وأنه بالإمكان الوصول إليها. | يُطلق الحدث <code>deviceready</code> عند تحميل كوردوفا بالكامل. هذا الحدث ضروري لأي تطبيق. إذ يُخطِر بأنّ واجهات كوردوفا البرمجية الخاصة بالجهاز قد تم تحميلها، وأنه بالإمكان الوصول إليها. | ||
تتألف كوردوفا من شيفرتين أساسيتين: الشيفرة الأصلية (native) وشيفرة [[JavaScript|جافاسكريبت]]. أثناء تحميل الشيفرة الأصلية، يتم عرض صورة تحميل مُخصصة. من جهة أخرى، لا تُحمّل [[JavaScript|جافاسكريبت]] إلا بعد تحميل الدوم (DOM). | تتألف كوردوفا من شيفرتين أساسيتين: الشيفرة الأصلية (native) وشيفرة [[JavaScript|جافاسكريبت]]. أثناء تحميل الشيفرة الأصلية، يتم عرض صورة تحميل مُخصصة. من جهة أخرى، لا تُحمّل [[JavaScript|جافاسكريبت]] إلا بعد تحميل الدوم (DOM). وهذا يعني أن تطبيق الويب قد يستدعي دوال [[JavaScript|جافاسكريبت]] قبل أن تصبح الشيفرة الأصلية المقابلة متاحة. | ||
يُطلق الحدث <code>deviceready</code> بمجرد تحميل كوردوفا بالكامل. | يُطلق الحدث <code>deviceready</code> بمجرد تحميل كوردوفا بالكامل. وعندها يمكنك إجراء الاستدعاءات بأمان من الواجهات البرمجية لكوردوفا. | ||
عادةً ما تُرفق التطبيقات مُنصِتًا (listener) للحدث <code>document.addEventListener</code> بمجرد تحميل الدوم (DOM) الخاص بملف [[HTML]]. | |||
يختلف سلوك الحدث <code>deviceready</code> عن الأحداث الأخرى. فأيُّ معالج أحداث (event handler) يتم تسجيله بعد إطلاق الحدث <code>deviceready</code> ستُسدعى دالة الرد (callback function) خاصته على الفور. | يختلف سلوك الحدث <code>deviceready</code> عن الأحداث الأخرى. فأيُّ معالج أحداث (event handler) يتم تسجيله بعد إطلاق الحدث <code>deviceready</code> ستُسدعى دالة الرد (callback function) خاصته على الفور. | ||
سطر 132: | سطر 134: | ||
=== ملاحظات خاصة بمنصة iOS === | === ملاحظات خاصة بمنصة iOS === | ||
في مُعالج الحدث <code>pause</code>، لا تعمل أي استدعاءات للواجهة البرمجية لكوردوفا أو الإضافات المحلية التي تمر عبر لغة Objective-C، إلى جانب | في مُعالج الحدث <code>pause</code>، لا تعمل أي استدعاءات للواجهة البرمجية لكوردوفا أو الإضافات المحلية التي تمر عبر لغة Objective-C، إلى جانب الاستدعاءات التفاعلية (interactive calls)، مثل التنبيهات أو الدالة <code>console.log()</code>. إذ لنْ تُعالج إلا عند استئناف التطبيق عند التشغيل الموالي. | ||
الحدث <code>resign</code> المخصوص بنظام iOS هو بديل للحدث <code>pause</code>، | الحدث <code>resign</code> المخصوص بنظام iOS هو بديل للحدث <code>pause</code>، إذ يرصد قيام المستخدمين بتمكين زر القفل <code>Lock</code> لأجل قفل الجهاز مع تشغيل التطبيق في المقدمة (foreground). إذا تم تمكين التطبيق (والجهاز) من استخدام المهام المتعددة (multi-tasking)، فسيُقرن هذا الحدث مع حدث <code>pause</code> لاحق، ولكن فقط على منصة iOS 5. إذ تُدفع جميع التطبيقات متعددة المهام المقفلة في منصة iOS 5 إلى الخلفية. | ||
لكي تبقى التطبيقات قيد التشغيل عند قفلها في منصة iOS 5، قم بتعطيل تعدد المهام في التطبيق عن طريق ضبط الخاصية [http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html UIApplicationExitsOnSuspend] عند القيمة <code>YES</code>. أمّا إن أردت تشغيله أثناء قفله على منصة iOS 4، فهذا الإعداد لا يهم. | |||
== <code>resume</code> == | == <code>resume</code> == | ||
يُطلق الحدث <code>resume</code> عندما تسحب المنصة الأصلية التطبيق من الخلفية. | يُطلق الحدث <code>resume</code> عندما تسحب المنصة الأصلية التطبيق من الخلفية. | ||
<syntaxhighlight lang="javascript">document.addEventListener("resume", onResume, false); | مثال:<syntaxhighlight lang="javascript">document.addEventListener("resume", onResume, false); | ||
function onResume() { | function onResume() { | ||
// Handle the resume event | // Handle the resume event | ||
سطر 146: | سطر 150: | ||
تُنفذ الدوال التفاعلية المُستدعاة من أحد معالجات الحدث <code>pause</code> في وقت لاحق عند استئناف التطبيق، والذي يُشار إليه من الحدث <code>resume</code>. ويشمل ذلك التنبيهات، والدالة <code>console.log()</code>، وكل الاستدعاءات القادمة من الإضافات أو الواجهة البرمجية لكوردوفا، والتي تمر عبر لغة Objective-C. | تُنفذ الدوال التفاعلية المُستدعاة من أحد معالجات الحدث <code>pause</code> في وقت لاحق عند استئناف التطبيق، والذي يُشار إليه من الحدث <code>resume</code>. ويشمل ذلك التنبيهات، والدالة <code>console.log()</code>، وكل الاستدعاءات القادمة من الإضافات أو الواجهة البرمجية لكوردوفا، والتي تمر عبر لغة Objective-C. | ||
* الحدث <code>active</code>''':''' الحدث <code>active</code> المخصوص بنظام iOS هو بديل للحدث <code>resume</code>، حيث يرصد قيام المستخدمين بتعطيل الزر <code>Lock</code> لأجل فتح (unlock) الجهاز مع تشغيل التطبيق في المقدمة. إذا تم تمكين التطبيق (والجهاز) من | * الحدث <code>active</code>''':''' الحدث <code>active</code> المخصوص بنظام iOS هو بديل للحدث <code>resume</code>، حيث يرصد قيام المستخدمين بتعطيل الزر <code>Lock</code> لأجل فتح (unlock) الجهاز مع تشغيل التطبيق في المقدمة. إذا تم تمكين التطبيق (والجهاز) من استخدام المهام المتعددة، فسيُقرن هذا مع حدث <code>resume</code> لاحق، ولكن فقط في المنصة iOS 5. إذ ستُدفع جميع التطبيقات متعددة المهام المقفولة (locked) في منصة iOS 5 إلى الخلفية. إن أردت أن تبقى التطبيقات قيد التشغيل عند قفلها في المنصة iOS 5، قم بتعطيل تعدد المهام في التطبيق عن طريق ضبط الخاصية [http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html UIApplicationExitsOnSuspend] عند القيمة <code>YES</code>. أما إن أردت تشغيل التطبيق أثناء القفل على منصة iOS 4، فهذا الإعداد لا يهم. | ||
* الحدث <code>resume</code>''':''' عندما يُستدعى من أحد معالجات الحدث <code>resume</code>، فالدوال التفاعلية مثل <code>alert()</code> يجب أن تُغلّف داخل استدعاءٍ للدالة <code>setTimeout()</code>، مع ضبط قيمة المهلة (timeout) عند القيمة <code>0</code>، وإلا فسيختنق التطبيق. | * الحدث <code>resume</code>''':''' عندما يُستدعى من أحد معالجات الحدث <code>resume</code>، فالدوال التفاعلية مثل <code>alert()</code> يجب أن تُغلّف داخل استدعاءٍ للدالة <code>setTimeout()</code>، مع ضبط قيمة المهلة (timeout) عند القيمة <code>0</code>، وإلا فسيختنق التطبيق. | ||
<syntaxhighlight lang="javascript">document.addEventListener("resume", onResume, false); | إليك المثال التالي:<syntaxhighlight lang="javascript">document.addEventListener("resume", onResume, false); | ||
function onResume() { | function onResume() { | ||
setTimeout(function() { | setTimeout(function() { | ||
سطر 157: | سطر 161: | ||
===ملاحظات خاصة بمنصة أندرويد === | ===ملاحظات خاصة بمنصة أندرويد === | ||
ارجع إلى [https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#lifecycle-guide دليل دورة | ارجع إلى [https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#lifecycle-guide دليل دورة حياة أندرويد] لمزيد من التفاصيل حول بعض الملاحظات الخاصة بالحدث <code>resume</code> في أندرويد. | ||
== <code>backbutton</code> == | == <code>backbutton</code> == | ||
سطر 170: | سطر 174: | ||
=== ملاحظات خاصة بمنصة ويندوز === | === ملاحظات خاصة بمنصة ويندوز === | ||
إن أردت العودة للسلوك | إن أردت العودة للسلوك الافتراضي (و الذي هو خروج التطبيق)، فاطلق خطأً في دالة الرد (callback) الخاصة بالحدث <code>backbutton</code>: | ||
<syntaxhighlight lang="javascript">document.addEventListener('backbutton', function (evt) { | <syntaxhighlight lang="javascript">document.addEventListener('backbutton', function (evt) { | ||
if (cordova.platformId !== 'windows') { | if (cordova.platformId !== 'windows') { | ||
سطر 183: | سطر 187: | ||
== <code>menubutton</code> == | == <code>menubutton</code> == | ||
يُطلق هذا الحدث عندما يضغط المستخدم على زر القائمة (menu button). | يُطلق هذا الحدث عندما يضغط المستخدم على زر القائمة (menu button). | ||
انشاء معالجٍ أحداث (event handler) سيتجاوز السلوك الافتراضي لزر القائمة. إليك المثال التالي: <syntaxhighlight lang="javascript">document.addEventListener("menubutton", onMenuKeyDown, false); | |||
function onMenuKeyDown() { | function onMenuKeyDown() { | ||
// معالجة زر العودة | // معالجة زر العودة | ||
سطر 236: | سطر 240: | ||
function activated(args) { | function activated(args) { | ||
if (args && args.kind === Windows.ApplicationModel.Activation.ActivationKind.file) { | if (args && args.kind === Windows.ApplicationModel.Activation.ActivationKind.file) { | ||
// StorageFile للخصول على الكائن الأصلي args.raw استخدم | // StorageFile للخصول على الكائن الأصلي args.raw استخدم | ||
Windows.Storage.FileIO.readTextAsync(args.raw.detail[0].files[0]).done(function (text) { | Windows.Storage.FileIO.readTextAsync(args.raw.detail[0].files[0]).done(function (text) { | ||
سطر 247: | سطر 250: | ||
=== ملاحظات خاصة بمنصة ويندوز === | === ملاحظات خاصة بمنصة ويندوز === | ||
* يمكنك الوصول إلى وسائط الحدث <code>activated</code> من الخاصية <code>args.raw.detail[0]</code>، إذ يمكنك استخدامها للحصول على مزيد من المعلومات حول الأنواع، أو لاستدعاء أحد توابع وسائط التنشيط. | * يمكنك الوصول إلى وسائط الحدث <code>activated</code> من الخاصية <code>args.raw.detail[0]</code>، إذ يمكنك استخدامها للحصول على مزيد من المعلومات حول الأنواع، أو لاستدعاء أحد توابع وسائط التنشيط. | ||
* تُنسخ أيضًا الوسائط الأصلية للحدث <code>activated</code> في <code>args.detail[0]</code>، | * تُنسخ أيضًا الوسائط الأصلية للحدث <code>activated</code> في <code>args.detail[0]</code>، حيث يمكن استخدامها كاحتياط في حالة فقدان إحدى خاصيات <code>args</code> الداخلية. انظر [https://issues.apache.org/jira/browse/CB-10653 هذا الرابط] لمزيد من التفاصيل. | ||
* يمكن أن يُطلق الحدث <code>activated</code> قبل الحدث <code>deviceready</code>، لذا يجب عليك حفظ راية التنشيط (activation flag) وحفظ <code>args</code> داخل سياق التطبيق في حال احتجت إليها | * يمكن أن يُطلق الحدث <code>activated</code> قبل الحدث <code>deviceready</code>، لذا يجب عليك حفظ راية التنشيط (activation flag) وحفظ <code>args</code> داخل سياق التطبيق في حال احتجت إليها ([https://issues.apache.org/jira/browse/CB-11924 حالة الهدف المشترك]). ينبغي أن يحدث الاشتراك في الحدث <code>activated</code> قبل معالج الحدث <code>deviceready</code> (أو <code>app.bindEvents</code> بلغة قوالب كوردوفا). | ||
== انظر أيضا == | == انظر أيضا == |
مراجعة 17:17، 1 ديسمبر 2018
توفر كوردوفا العديد من الأحداث التي يمكن استخدامها من قبل التطبيقات. بحيث يمكن إضافة مُنصِتات (listeners) لها لمعالجتها.
إليك المثال التالي المكون من ملفين.
ملف HTML:
<!DOCTYPE html>
<html>
<head>
<title>Device Ready Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="example.js"></script>
</head>
<body onload="onLoad()">
</body>
</html>
ملف جافاسركيبت:
// example.js الملف
// انتظار تحميل الواجهة البرمجية للجهاز
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// الواجهات البرمجية للجهاز جاهزة
//
function onDeviceReady() {
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
document.addEventListener("menubutton", onMenuKeyDown, false);
// Add similar listeners for other events
}
function onPause() {
// pause معالجة الحدث
}
function onResume() {
// resume معالجة الحدث
}
function onMenuKeyDown() {
// menubutton معالجة الحدث
}
// إضافة معالجات لأحداث أخرى
ملاحظة: في العادة، يجب أن تستخدم التطبيقات التابع document.addEventListener
لإرفاق مُنصِت (listener) بحدثٍ ما بمجرد وقوع الحدث deviceready
.
يسرد الجدول التالي أحداث كوردوفا والمنصات المدعومة:
المنصات المدعومة
/الأحداث |
أندرويد | iOS | ويندوز |
---|---|---|---|
deviceready
|
نعم | نعم | نعم |
pause
|
نعم | نعم | نعم |
resume
|
نعم | نعم | نعم |
backbutton
|
نعم | لا | نعم |
menubutton
|
نعم | لا | لا |
searchbutton
|
نعم | لا | لا |
startcallbutton
|
لا | لا | لا |
endcallbutton
|
لا | لا | لا |
volumedownbutton
|
نعم | لا | لا |
volumeupbutton
|
نعم | لا | لا |
activated
|
لا | لا | نعم |
deviceready
يُطلق الحدث deviceready
عند تحميل كوردوفا بالكامل. هذا الحدث ضروري لأي تطبيق. إذ يُخطِر بأنّ واجهات كوردوفا البرمجية الخاصة بالجهاز قد تم تحميلها، وأنه بالإمكان الوصول إليها.
تتألف كوردوفا من شيفرتين أساسيتين: الشيفرة الأصلية (native) وشيفرة جافاسكريبت. أثناء تحميل الشيفرة الأصلية، يتم عرض صورة تحميل مُخصصة. من جهة أخرى، لا تُحمّل جافاسكريبت إلا بعد تحميل الدوم (DOM). وهذا يعني أن تطبيق الويب قد يستدعي دوال جافاسكريبت قبل أن تصبح الشيفرة الأصلية المقابلة متاحة.
يُطلق الحدث deviceready
بمجرد تحميل كوردوفا بالكامل. وعندها يمكنك إجراء الاستدعاءات بأمان من الواجهات البرمجية لكوردوفا.
عادةً ما تُرفق التطبيقات مُنصِتًا (listener) للحدث document.addEventListener
بمجرد تحميل الدوم (DOM) الخاص بملف HTML.
يختلف سلوك الحدث deviceready
عن الأحداث الأخرى. فأيُّ معالج أحداث (event handler) يتم تسجيله بعد إطلاق الحدث deviceready
ستُسدعى دالة الرد (callback function) خاصته على الفور.
مثال:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// يمكنك الآن استخدام الواجهة البرمجية للجهاز بأمان
}
pause
يُطلق الحدث pause
عندما ترسل المنصة الأصلية التطبيقَ إلى الخلفية، يحدث هذا عادةً عندما ينتقل المستخدم إلى تطبيق آخر.
مثال:
document.addEventListener("pause", onPause, false);
function onPause() {
// Handle the pause event
}
ملاحظات خاصة بمنصة iOS
في مُعالج الحدث pause
، لا تعمل أي استدعاءات للواجهة البرمجية لكوردوفا أو الإضافات المحلية التي تمر عبر لغة Objective-C، إلى جانب الاستدعاءات التفاعلية (interactive calls)، مثل التنبيهات أو الدالة console.log()
. إذ لنْ تُعالج إلا عند استئناف التطبيق عند التشغيل الموالي.
الحدث resign
المخصوص بنظام iOS هو بديل للحدث pause
، إذ يرصد قيام المستخدمين بتمكين زر القفل Lock
لأجل قفل الجهاز مع تشغيل التطبيق في المقدمة (foreground). إذا تم تمكين التطبيق (والجهاز) من استخدام المهام المتعددة (multi-tasking)، فسيُقرن هذا الحدث مع حدث pause
لاحق، ولكن فقط على منصة iOS 5. إذ تُدفع جميع التطبيقات متعددة المهام المقفلة في منصة iOS 5 إلى الخلفية.
لكي تبقى التطبيقات قيد التشغيل عند قفلها في منصة iOS 5، قم بتعطيل تعدد المهام في التطبيق عن طريق ضبط الخاصية UIApplicationExitsOnSuspend عند القيمة YES
. أمّا إن أردت تشغيله أثناء قفله على منصة iOS 4، فهذا الإعداد لا يهم.
resume
يُطلق الحدث resume
عندما تسحب المنصة الأصلية التطبيق من الخلفية.
مثال:
document.addEventListener("resume", onResume, false);
function onResume() {
// Handle the resume event
}
ملاحظات خاصة بمنصة IOS
تُنفذ الدوال التفاعلية المُستدعاة من أحد معالجات الحدث pause
في وقت لاحق عند استئناف التطبيق، والذي يُشار إليه من الحدث resume
. ويشمل ذلك التنبيهات، والدالة console.log()
، وكل الاستدعاءات القادمة من الإضافات أو الواجهة البرمجية لكوردوفا، والتي تمر عبر لغة Objective-C.
- الحدث
active
: الحدثactive
المخصوص بنظام iOS هو بديل للحدثresume
، حيث يرصد قيام المستخدمين بتعطيل الزرLock
لأجل فتح (unlock) الجهاز مع تشغيل التطبيق في المقدمة. إذا تم تمكين التطبيق (والجهاز) من استخدام المهام المتعددة، فسيُقرن هذا مع حدثresume
لاحق، ولكن فقط في المنصة iOS 5. إذ ستُدفع جميع التطبيقات متعددة المهام المقفولة (locked) في منصة iOS 5 إلى الخلفية. إن أردت أن تبقى التطبيقات قيد التشغيل عند قفلها في المنصة iOS 5، قم بتعطيل تعدد المهام في التطبيق عن طريق ضبط الخاصية UIApplicationExitsOnSuspend عند القيمةYES
. أما إن أردت تشغيل التطبيق أثناء القفل على منصة iOS 4، فهذا الإعداد لا يهم.
- الحدث
resume
: عندما يُستدعى من أحد معالجات الحدثresume
، فالدوال التفاعلية مثلalert()
يجب أن تُغلّف داخل استدعاءٍ للدالةsetTimeout()
، مع ضبط قيمة المهلة (timeout) عند القيمة0
، وإلا فسيختنق التطبيق.
إليك المثال التالي:
document.addEventListener("resume", onResume, false);
function onResume() {
setTimeout(function() {
// ضع ما تريد أن يحدث هنا
}, 0);
}
ملاحظات خاصة بمنصة أندرويد
ارجع إلى دليل دورة حياة أندرويد لمزيد من التفاصيل حول بعض الملاحظات الخاصة بالحدث resume
في أندرويد.
backbutton
يُطلق هذا الحدث عندما يضغط المستخدم على زر الرجوع.
لتجاوز السلوك الافتراضي لزر الرجوع، عليك تسجيل مُنصتٍ (listener) للحدث backbutton
. فلم يعد ضروريًا استدعاء أي تابع آخر لتجاوز سلوك الزر الخلفي.
مثال:
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
// معالجة الزر الخلفي
}
ملاحظات خاصة بمنصة ويندوز
إن أردت العودة للسلوك الافتراضي (و الذي هو خروج التطبيق)، فاطلق خطأً في دالة الرد (callback) الخاصة بالحدث backbutton
:
document.addEventListener('backbutton', function (evt) {
if (cordova.platformId !== 'windows') {
return;
}
if (window.location.href !== firstPageUrl) {
window.history.back();
} else {
throw new Error('Exit'); // هذا سيوقف التطبيق
}
}, false);
يُطلق هذا الحدث عندما يضغط المستخدم على زر القائمة (menu button).
انشاء معالجٍ أحداث (event handler) سيتجاوز السلوك الافتراضي لزر القائمة. إليك المثال التالي:
document.addEventListener("menubutton", onMenuKeyDown, false);
function onMenuKeyDown() {
// معالجة زر العودة
}
searchbutton
يُطلق هذا الحدث عندما يضغط المستخدم على زر البحث في منصة أندرويد. إن كنت بحاجة إلى تجاوز سلوك زر البحث الافتراضي على أندرويد، فيمكنك تسجيل مُنصِت للحدث searchbutton
.
مثال:
document.addEventListener("searchbutton", onSearchKeyDown, false);
function onSearchKeyDown() {
// معالجة زر البحث
}
startcallbutton
يُطلق هذا الحدث عند قيام المستخدم بالضغط على زر بدء المكالمة. إذا احتجت إلى تجاوز السلوك الافتراضي لبدء المكالمة، فيمكنك تسجيل مُنصِتٍ للحدث startcallbutton
.
مثال:
document.addEventListener("startcallbutton", onStartCallKeyDown, false);
function onStartCallKeyDown() {
// Handle the start call button
}
endcallbutton
يُطلق هذا الحدث عندما يضغط المستخدم على زر إنهاء المكالمة. يتجاوز هذا الحدث السلوك الافتراضي لنهاية المكالمة.
مثال:
document.addEventListener("endcallbutton", onEndCallKeyDown, false);
function onEndCallKeyDown() {
// معالجة زر نهاية المكالمة
}
volumedownbutton
يُطلق هذا الحدث عند قيام المستخدم بالضغط على زر خفض الصوت. إذا احتجت إلى تجاوز السلوك الافتراضي لخفض الصوت، فيمكنك تسجيل منصتٍ للحدث volumedownbutton
.
مثال:
document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
function onVolumeDownKeyDown() {
// Handle the volume down button
}
volumeupbutton
يُطلق هذا الحدث عند قيام المستخدم بالضغط على زر رفع الصوت. إن كنت بحاجة إلى تجاوز السلوك الافتراضي لرفع الصوت، فيمكنك تسجيل منصتٍ للحدث volumeupbutton
.
مثال:
document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
function onVolumeUpKeyDown() {
// معالجة زر رفع الصوت
}
activated
يُطلق هذا الحدث عند تنشيط Windows Runtime. انظر توثيق MSDN لمزيد من التفاصيل وأنواع التنشيط.
مثال:
document.addEventListener("activated", activated, false);
function activated(args) {
if (args && args.kind === Windows.ApplicationModel.Activation.ActivationKind.file) {
// StorageFile للخصول على الكائن الأصلي args.raw استخدم
Windows.Storage.FileIO.readTextAsync(args.raw.detail[0].files[0]).done(function (text) {
console.log(text);
}, function (err) {
console.error(err);
});
}
}
ملاحظات خاصة بمنصة ويندوز
- يمكنك الوصول إلى وسائط الحدث
activated
من الخاصيةargs.raw.detail[0]
، إذ يمكنك استخدامها للحصول على مزيد من المعلومات حول الأنواع، أو لاستدعاء أحد توابع وسائط التنشيط. - تُنسخ أيضًا الوسائط الأصلية للحدث
activated
فيargs.detail[0]
، حيث يمكن استخدامها كاحتياط في حالة فقدان إحدى خاصياتargs
الداخلية. انظر هذا الرابط لمزيد من التفاصيل. - يمكن أن يُطلق الحدث
activated
قبل الحدثdeviceready
، لذا يجب عليك حفظ راية التنشيط (activation flag) وحفظargs
داخل سياق التطبيق في حال احتجت إليها (حالة الهدف المشترك). ينبغي أن يحدث الاشتراك في الحدثactivated
قبل معالج الحدثdeviceready
(أوapp.bindEvents
بلغة قوالب كوردوفا).
انظر أيضا
- صفحة الخطافات.