إضافة اتجاه الشبكة في كوردوفا
تُستخدم إضافة اتجاه الشبكة (cordova-plugin-screen-orientation) لتعيين أو قفل (lock) اتجاه الشاشة بطريقة موحدة في المنصاتـiOS و أندرويد و windows-uwp. تعتمد هذه الإضافة على Screen Orientation API، حتى تتطابق الواجهة البرمجية مع المواصفات الحالية.
تضيف هذه الإضافة العناصر التالية إلى كائن الشاشة (window.screen
):
// lock the device orientation
.orientation.lock('portrait')
// unlock the orientation
.orientation.unlock()
// current orientation
.orientation
التثبيت
cordova plugin add cordova-plugin-screen-orientation
التوجيهات المدعومة
portrait-primary
الاتجاه يكون في الوضع العمودي الأولي (primary portrait mode).
portrait-secondary
الاتجاه في الوضع العمودي الثانوي.
landscape-primary
الاتجاه في الوضع الأفقي الأولي (primary landscape mode).
landscape-secondary
الاتجاه في الوضع الأفقي الثانوي (secondary landscape mode).
portrait
الاتجاه إما في الوضع العمودي الأولي أو الوضع العمودي الثانوي (sensor).
landscape
الاتجاه إما في الوضع الأفقي الأولي أو الثانوي (sensor).
any
تحرير التوجيه، بحيث يتم دعم جميع الاتجاهات.
الاستخدام
// set to either landscape
screen.orientation.lock('landscape');
// allow user rotate
screen.orientation.unlock();
// access current orientation
console.log('Orientation is ' + screen.orientation.type);
الأحداث
سيطلق كل من منصتي أندرويد و iOS الحدث orientationchange من الكائن window. في هذا الإصدار من الإضافة، استخدم الكائن window إذا كنت تريد طريقة للتنبيه.
مثال للاستخدام
window.addEventListener("orientationchange", function(){
console.log(screen.orientation.type); // e.g. portrait
});
تمت إضافة مُنصتٍ (listener) للحدث changeأيضًا إلى الكائن screen.orientation.
مثال للاستخدام
screen.orientation.addEventListener('change', function(){
console.log(screen.orientation.type); // e.g. portrait
});
// OR
screen.orientation.onchange = function(){console.log(screen.orientation.type);
};
ملاحظات حول أندرويد
لن تُحدّث الخاصية screen.orientation
عندما يكون يُدار الهاتف rotated 180 degrees.
ملاحظات حول منصة ويندوز الكونية UWP
لن تعرض تطبيقات متجر ويندوز (windows-uwp) تغييرات الاتجاه إلا إن كان الجهاز مُزودًا بمقياسٍ للتسارع (accelerometer). ستُحفظ الحالة الداخلية للكائن orientation، ولكن لن يتم تدوير الشاشة فعليًا ما لم يكن الجهاز يدعم ذلك.