Chrome krotí divoké dialogy a vyskakovací okna

Tento víkend jsem se rozhodl zapátrat v prohlížeči Google Chrome, abych zjistil, jaké skryté drahokamy se skrývají těsně pod povrchem. Skončil jsem u hlubokého zkoumání toho, jak prohlížeč zpracovává dialogová okna (upozornění, výzvy a potvrzení) a také vyskakovací okna, a objevil jsem docela zajímavé věci.

Za prvé, Chrome má tuto zajímavou funkci, kdy sleduje počet dialogů, které se uživateli zobrazily. Pokud se během provádění jednoho vlákna zobrazí dva dialogy, druhý a každý následující dialog má na sobě další zaškrtávací políčko, které uživateli umožňuje zakázat zobrazování dalších dialogů (viz níže).

Jakmile je toto zaškrtávací políčko zaškrtnuto a dialogové okno je zavřeno, nelze pomocí skriptu zobrazit žádné další dialogy (opět, upozornění, potvrzení nebo výzva), dokud nebude stránka znovu načtena. Tomu se můžete vyhnout zobrazením pouze jednoho dialogu na každé spuštění. Například akce uživatele, která způsobí zobrazení dvou výstrah v řadě, zobrazí toto zaškrtávací políčko; dvě akce uživatele, z nichž každá způsobí výstrahu, toto chování obejdou. Myslím, že je to užitečná funkce, která zabrání „upozornění pekla“, které vás nutí zastavit proces prohlížeče, i když bych si přál, aby existoval nějaký způsob, jak zjistit, zda se dialog skutečně zobrazil ve skriptu.

Další:vyskakovací okna. Google Chrome Webmaster FAQ uvádí, že vyskakovací okna jsou automaticky minimalizována, takže můžete vidět pouze záhlaví v pravém dolním rohu stránky. To je pravda jen částečně. Vyskakovací okna, která jsou spuštěna akcí uživatele (klepnutí nebo stisknutí klávesy), se zobrazují jako normálně. Jediná vyskakovací okna, která se zobrazují v pravém dolním rohu okna, jsou ta, která byla spuštěna mimo akci uživatele. Jinými slovy, vyskakovací okna, která jsou v jiných prohlížečích obvykle blokována, se v prohlížeči Chrome zobrazují v pravém dolním rohu. Během onload se tedy otevřelo vyskakovací okno obsluha události bude spíše minimalizována než blokována, jak by tomu bylo ve Firefoxu a dalších prohlížečích. Důvodem je, že se jedná o lepší zkušenost pro vývojáře, který se nemusí starat o to, že dojde k chybám (což dělají blokátory vyskakovacích oken), a lepší zkušenost pro uživatele, který nebude při vstupu vyskakovat vyskakovací okno. web.

Tyto dvě funkce mi připomínají inovace, které Firefox udělal v procházení webu, když debutoval, včetně změny barvy umístění na zabezpečeném webu a deaktivace tlačítka OK na pět sekund při instalaci pluginů. Firefox pokračuje v inovacích, a pokud Google Chrome může přispět i v tomto duchu, bude pro všechny lepší.