نوافذ جافا سكريبت في Chrome تتعامل مع التغييرات
- فئة: جوجل كروم
جوجل نفذت تغيير في سلوك التعامل مع نافذة جافا سكريبت المنبثقة في Chrome مؤخرًا والذي يقيد النوافذ المنبثقة لجافا سكريبت.
التغيير ، الذي وصل إلى Chrome Canary و Dev بالفعل ، يحسن التعامل مع تنبيه JavaScript () ، والتأكيد () ومربعات الحوار () التي قد تطرحها الصفحات في المتصفح.
Chrome حتى الآن ، ولا يزال هذا صحيحًا بالنسبة إلى Chrome Stable و Beta ، تعامل مع مربعات حوار JavaScript هذه لكل نافذة متصفح.
هذا يعني أن النوافذ المنبثقة يمكنها قفل المتصفح حتى يتفاعل المستخدمون مع النافذة المنبثقة المعنية. على الرغم من أن ذلك قد يكون مفيدًا في مواقف معينة ، إلا أنه غالبًا ما يعني أن المواقع تستخدم هذه الخيارات لقفل المتصفح وإجبار المستخدمين على التفاعل مع النافذة المنبثقة.
تراوح هذا من المواقع المزحة التي تضعك في حلقة لا نهائية من النوافذ المنبثقة إلى مهاجمة المواقع التي تطلب من المستخدمين الدفع لإزالة النافذة المنبثقة وإعادة المتصفح إلى حالته الافتراضية.
نوافذ جافا سكريبت في Chrome تتعامل مع التغييرات
اتخذت Google قرارًا بجعل مربعات حوار جافا سكريبت هذه تعمل على أساس كل علامة تبويب في المتصفح ، ولم تعد تعمل على أساس كل نافذة. ما يعنيه هذا بالنسبة للمستخدمين هو أنه من الممكن الآن استبعاد أي نافذة منبثقة تم إلقاؤها بواسطة وظائف JavaScript هذه بمجرد تبديل علامات التبويب.
القيام بذلك يرفض النافذة المنبثقة على الفور. لا يتعين على المستخدمين التفاعل مع النافذة المنبثقة مباشرة بعد الآن ، أو حتى إجبار عملية Chrome على استعادة السيطرة على متصفح الويب.
الشركة ملاحظات في وثيقة التصميم الرسمية:
إذا كانت علامة التبويب هي علامة التبويب الأولى ، فسنقدم مربع حوار علامة التبويب. سيتم بعد ذلك عرض مربعات حوار التنبيه / التأكيد / المطالبة والتركيز على تفاعلات المستخدم. إذا تفاعل المستخدم معهم وأجرى تفاعل المستخدم المصمم من أجله ، فلن يحدث شيء ملحوظ.
ومع ذلك ، إذا قام المستخدم بالتبديل إلى علامة تبويب مختلفة ، ونقل علامة التبويب إلى الخلفية وجعلها ليست في المقام الأول ، فسنقوم برفض مربع الحوار. بالنسبة إلى مربعات حوار التنبيهات ، لا تنتظر جافا سكريبت ردًا ، لذا سنعود إلى جافا سكريبت. بالنسبة إلى مربعات حوار التأكيد والمطالبة ، سنقوم بإرجاع false و null على التوالي ، مما يشير إلى الإلغاء. (لاحظ أن هذه هي نفس القيم التي نرجعها حاليًا لمربعات الحوار التي تم منعها بواسطة الإعداد 'منع هذه الصفحة من إنشاء مربعات حوار إضافية'.)
بالنسبة لجميع علامات التبويب الأخرى ، فإننا نقوم بتحييد معظم الحوارات. بالنسبة إلى مربعات حوار التنبيه ، نضيفها إلى قائمة انتظار لعلامة التبويب هذه ، ونعرض قائمة انتظار الحوارات في المرة التالية التي تكون فيها علامة التبويب في المقدمة ، لكننا نسمح على الفور باستئناف JavaScript في علامة التبويب تلك. بالنسبة إلى مربعات حوار التأكيد والمطالبة ، سنقوم على الفور بإرجاع false / null لمنع حظر JavaScript ، لأن حظر تنفيذ البرنامج النصي قد يؤدي إلى كسر علامات التبويب التعسفية ، ومن المحتمل تمامًا تلك التي يتفاعل معها المستخدم.
يجب أن يضع التغيير حداً لمشرفي المواقع الذين يستخدمون وظائف JavaScript هذه لإزعاج مستخدمي متصفح Chrome أو مهاجمتهم.
يلاحظ Google أن التغيير سيؤثر على جميع المواقع التي تستخدم مربعات حوار JavaScript هذه. تقترح الشركة أن تنفذ المواقع بدائل ، على سبيل المثال استخدام Notifications API بدلاً من ذلك.
هل هذا يعني أن Google ستغير استخدام تقويم Google للتنبيه () للإشعارات؟ فقط الوقت كفيل بإثبات.
إذا نظرت إلى المتصفحات الأخرى ، ستلاحظ أنها طبقت الوظيفة منذ سنوات. تم تطبيق هذا الخيار لكل من Firefox و Opera لسنوات.
اقرأ الآن : ملحق Popup Blocker لجوجل كروم