Summary
- نشرت W3C مسودة عمل Page Visibility في 2 يونيو 2011، وقدمت للصفحة حالة الرؤية والحدث
visibilitychangeعند تبدل تلك الحالة. - ضربت المسودة مثالاً ببريد ويب يبحث عن الجديد كل بضع ثوان حين يكون ظاهراً، ثم قد يباعد البحث إلى بضع دقائق حين يُخفى. تختار الخدمة هذا الإيقاع.
جلس تبويب البريد خلف خريطة ومقال وصفحة تسوق. صاحبه مشغول بشيء آخر، لكنه هو يفتح صندوق الوارد مرة بعد مرة. يبدو كموظف بريد مجتهد يطرق باب مكتب خالٍ كل بضع ثوان. وإذا فعلت تبويبات كثيرة الشيء نفسه، تدفع الآلة ثمن هذا الاجتهاد من وقت المعالج والطاقة.
انطلقت مسودة W3C المؤرخة في 2 يونيو 2011 من معلومة موزعة على نحو سيئ. يعرف المتصفح أي تبويب في المقدمة، ومتى صُغرت النافذة، وهل تظهر الصفحة على شاشة. احتاجت الصفحة إلى إشارة تستطيع قراءتها. قدمت المسودة document.hidden وحالة للرؤية، ثم visibilitychange ليصل خبر التغير في وقته. يصف المتصفح ما يراه في ترتيب النوافذ، وتقرر الصفحة ما ستفعل بعملها.
اختار واضعو المسودة مثالاً من الحياة اليومية: بريد الويب. عندما ينظر القارئ إلى صندوق الوارد، قد تكون مراجعة الرسائل كل بضع ثوان مناسبة. وعندما ينتقل إلى تبويب آخر، قد تصبح كل بضع دقائق مناسبة. البريد يعرف قيمة السرعة في خدمته؛ والمتصفح يعرف موضع الصفحة أمام العين. لا يحتاج أحدهما إلى تخمين عمل الآخر إذا تبادلا هذه المعلومة الصغيرة.
جاءت رسالة الاقتراح المنشورة على قائمة W3C العامة في يناير 2011 بأمثلة أخرى. لعبة ألغاز توقف ساعتها عندما يغادر اللاعب، واستطلاع دوري يهدأ، وفيديو ينتظر أول زيارة فعلية لتبويبه. الحالة الواحدة تترك المجال لاختيارات مختلفة. الساعة تخص اللعبة، وتيرة الاستعلام تخص البريد، ولحظة بدء العرض تخص الفيديو. المتصفح يسلّم خبر الرؤية للجميع من دون أن يكتب جدول أعمالهم.
حددت المسودة معنى الاختفاء بأمثلة واضحة: تبويب في الخلف، نافذة متصفح مصغرة، شاشة مقفلة. الصفحة التي يظهر جزء منها على أي شاشة تظل مرئية. وراعت أدوات الإتاحة التي تغطي الشاشة لكنها تسمح للمستخدم برؤية الصفحة مكبّرة. هكذا اعتمدت الإشارة على طريقة عرض الوثيقة لدى المتصفح، بدلاً من الاكتفاء بتخمين الصفحة من دخول التركيز إليها وخروجه منها.
تتغير هذه الحال طوال اليوم. قد يفتح القارئ بريده، ثم يقرأ الخريطة، ثم يعود، ثم يترك الجهاز. قراءة document.hidden مرة عند البداية لا تلاحق هذه الرحلة. يوصل visibilitychange الخبر عند انتقال الحالة، فتراجع الخدمة وتيرة عملها. واحتفظت مسودة آخر دعوة للتعليقات في يوليو 2011 بالأمثلة العملية مع تهذيب الواجهة. النافذة تتغير، وعلى التطبيق أن يستجيب في الوقت الذي يهمه.
جمعت توصية W3C الصادرة في 14 مايو 2013 السمات hidden وvisibilityState وvisibilitychange، مع أحوال إضافية يمكن استخدامها في ظروف مثل التحميل المسبق أو مغادرة الوثيقة. وحملت الطبعة الثانية في أكتوبر 2013 لمسة بشرية لطيفة: تصحيح خطأ إملائي في اسم الحدث visibilitychange في القسم 4.3، وكان ذلك تعديلها الوحيد. حتى بعد سنوات من شرح متى تُرى الصفحة، احتاج الاسم إلى قلم محرر.
تقف هذه الفكرة إلى جوار Web Workers من دون أن تحل المشكلة نفسها. ينقل العامل حساباً طويلاً بعيداً عن موضع استجابة الصفحة للنقرات. أما Page Visibility فتخبر التطبيق متى يمكنه تخفيف العمل أو تأجيله. قد يستعمل البريد عاملًا للحساب وإشارة رؤية لتقليل فحص الوارد في الخلفية. مكان أداء المهمة وتوقيت أدائها قراران مختلفان.
ذكرت مسودة 2011 كفاءة المعالج والطاقة ضمن أهدافها، لكن صورتها العملية بسيطة: لا حاجة لموظف البريد إلى الطرق على باب غرفة فارغة كل بضع ثوان. كان المتصفح يعرف أن الغرفة خلت. ثم صار يستطيع إيصال الخبر إلى الصفحة التي ظلت تعمل فيها.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات





