الخلاصة

  • ناقش سجل علني لدى W3C عام 2013 بث الرسائل إلى بيئات متعددة من الأصل نفسه. وسّع طلب عام 2014 الفكرة إلى العاملين، وأظهرت مراسلات 2015 عملاً على التنفيذ.
  • يحدد معيار HTML الحالي قنوات مسماة. يبحث المتصفح عن قنوات أخرى مؤهلة تحمل الاسم ومفتاح التخزين نفسيهما، وينسخ الرسالة إليها؛ أما رد الفعل فيكتبه صاحب الموقع.

تضغط القارئة زر الخروج في النافذة الأولى. وفي الثانية قائمة محفوظاتها، وفي الثالثة إعدادات الحساب. يبدو المكتب كأن موظفة أنهت دوامها وبقية القسم ما زال يسجل حضورها. يمكن لكل نافذة أن تعود إلى الخادم وتسأل من جديد، لكن النافذة الأولى تعرف الخبر بالفعل. كان ينقصها طريق قصير إلى زميلاتها داخل المتصفح.

يحفظ سجل W3C العلني المفتوح عام 2013 النقاش حول هذا الطريق. ظهرت فيه فكرة إنشاء كائن له اسم قناة وطريقة postMessage()، فتصل الرسالة إلى مستمعين آخرين يطابقون الأصل والاسم. دارت مداولات حول التفاصيل، لكن صورة المقسم واضحة: تستطيع النوافذ المشاركة في حديث واحد من غير أن تتبادل عناوين كل نافذة على حدة.

اتسعت دائرة السماع في طلب آخر سجله W3C في يناير 2014. طالب بأن يستخدم العاملون BroadcastChannel، وسجّل تحديث يونيو إدخال التغيير في عمل HTML. العامل قد ينفذ مهمة خلف الصفحة بينما تُفتح النوافذ وتُغلق؛ وصار في وسعه دخول شبكة الإشعارات المسماة حين تسمح حالته بذلك. خرجت الفكرة من غرفة النوافذ إلى العمل الجاري في الخلفية.

في مراسلات WHATWG العامة من يناير 2015 حديث عن تنفيذ يتجه إلى Firefox Nightly، مع إحالة إلى مواصفة HTML. وبعد أشهر، أدرج فهرس مسودة HTML 5.1 لدى W3C في أكتوبر 2015 واجهة BroadcastChannel وربط تعريفها بنص WHATWG. هذه آثار ورشة تقنية كانت تتحول إلى أدوات قابلة للاستخدام.

في معيار HTML الحالي، يسير ساعي البريد وفق خطوات محددة. يسلسل المتصفح البيانات عند الإرسال، ثم يبحث عن قنوات أخرى مؤهلة تشترك في الاسم ومفتاح التخزين. يستبعد المرسل نفسه، ويضع حدث message في طابور كل وجهة. يلزم أن تكون وثيقة النافذة نشطة تماماً، وأن يكون العامل في حالة تقبل الرسالة. إذا اختلف قسم التخزين، صار العنوانان في بنايتين مختلفتين، مهما تشابهت اللافتة.

تقدم المواصفة نفسها مثال الخروج من الحساب عبر علامات التبويب. ترسل إحداها الإشارة، فتحدّث الأخرى ما تعرضه. القناة تنقل الواقعة؛ وكود الموقع يتولى إدارة الجلسة والشاشة. يمكن للمبدأ أن يخدم تغيير المظهر أو متابعة مهمة تظهر في أكثر من نافذة. المتصفح يوزع الورقة، وأصحاب المكاتب يعرفون ماذا تعني لهم.

ثم يأتي موعد إغلاق الهاتف. تشرح المواصفة أن القناة التي ما زال لها مستمع قد تبقى حية وتستهلك الذاكرة، لذا ينبغي إغلاقها عند انتهاء العمل. لقد صار للعلامات الثلاث حديث مشترك؛ ومن حسن الإدارة ألا تبقى السماعات مرفوعة بعد مغادرة الجميع.