Document.visibilityState

من موسوعة حسوب

تُعيد الخاصيّة Document.visibilityState القابلة للقراءة فقط حالةَ ظهور المُستند، أي سياق وضوح العنصر الحالي. إذ من المُفيد معرفة ما إذا كان المُستند في الخلفيّة أو في تبويب (لسان، tab) غير مرئي حاليًّا، أو أنّ الصّفحة قد حُمّلت فقط من أجل ما قبل التّصيير (pre-rendering). القيم المُمكنة هي كما يلي:

  • 'visible': تُشير إلى أنّ مُحتويات الصّفحة قد تكون ظاهرة ولو جزئيّا. هذا يعني بأنّ الصفحة موجودة على تبويب أمامي في نافذة غيرِ مُصغّرة.
  • 'hidden': مُحتويات الصّفحة غير واضحة للمستخدم. هذا يعني أنّ المستند إما في تبويب خلفي أو في نافذة مُصغّرة، أو أنّ قفل شاشة النِّظام مُفعّل.
  • 'prerender': مُحتويات الصّفحة في حالة تصييرٍ مُسبَق وغير واضحة للمُستخدم (وتُعتبر مخفيّة من ناحيّة document.hidden). يُمكن للمُستند أن يبدأ في هذه الحالة، لكنّه لن ينتقل أبدا إليها من قيمة أخرى. لاحظ أنّ دعم المُتصفحات اختياري هنا.
  • 'unloaded': تُحمَّلُ الصّفحة حاليّا من الذّاكرة. لاحظ أنّ دعم المُتصفحات اختياري هنا.

يتمّ إرسال الحدث visibilitychange إلى المُستند (الكائن Document) عند تغيّر قيمة هذه الخاصيّة.

تُستعمل هذه الخاصيّة عادة لإيقاف تنزيل بعض الأصول (assets) عند التصيير المُسبق للمُستند أو لإيقاف نشاطات عندما يكون المُستند في الخلفيّة أو في نافذة مُصغّرة.

البنية العامة

var string = document.visibilityState

مثال

document.addEventListener("visibilitychange", function() {
  console.log( document.visibilityState );
  // افعل شيئا ما
});

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 13، مع السابقة -webkit-

33 دون سابقة

18 10 12.10 7
prerender نعم 49 ؟ ؟ ؟

مصادر ومواصفات