Chromes JavaScript-popups håndterer ændringer
- Kategori: Google Chrome
Google implementeret en ændring i Chromes JavaScript-popup-håndteringsadfærd for nylig, som begrænser JavaScript-popups.
Ændringen, der allerede landede i Chrome Canary og Dev, forbedrer håndteringen af JavaScript-alarm (), bekræft () og hurtig () -dialogbokse, som sider kan kaste i browseren.
Chrome indtil nu, og det er stadig tilfældet for Chrome Stable og Beta, håndterede disse JavaScript-dialogbokse pr. Browservindue.
Dette betyder, at popups kunne låse browseren, indtil brugere reagerede på den pågældende popup. Selvom det kan være nyttigt i visse situationer, betød det ofte, at sider brugte disse indstillinger til at låse browseren og tvinge brugere til at interagere med popup.
Dette spænder fra prank-websteder, der placerede dig i en uendelig loop af popups til angreb på websteder, der bad brugerne om at betale op for at fjerne popup og returnere browseren til dens standardtilstand.
Chromes JavaScript-popups håndterer ændringer
Google tog beslutningen om at få disse JavaScript-dialoger til at fungere pr. Fanebasis i browseren og ikke længere pr. Vindue. Hvad det betyder for brugerne er, at det nu er muligt at afvise enhver popup kastet af disse JavaScript-funktioner ved blot at skifte faner.
Hvis du gør det, afbrydes popup'en med det samme. Brugere behøver ikke længere at interagere med pop op eller tvinge endda Chrome-processen til at genvinde kontrol over webbrowseren.
Virksomheden noter på det officielle designdokument:
Hvis en fane er den vigtigste fane, viser vi dialogboksen for fanen. alarm / bekræft / hurtig dialog vil derefter blive vist og fokuseret til brugerinteraktioner. Hvis brugeren interagerer med dem og udfører den brugerinteraktion, de er designet til, ville der ikke ske noget bemærkelsesværdigt.
Hvis brugeren imidlertid skulle skifte til en anden fane ved at flytte fanen i baggrunden og gøre den ikke først og fremmest, afviser vi dialogen. I alarmdialogerne venter JavaScript ikke på et svar, så vi vender tilbage til JavaScript. For bekræftelse og hurtig dialog vil vi returnere henholdsvis fals og nul, hvilket indikerer en annullering. (Bemærk, at dette er de samme værdier, som vi i øjeblikket returnerer for dialoger, der er undertrykt af indstillingen 'Forhindrer denne side i at oprette yderligere dialoger').
For alle andre faner ville vi neutralisere de fleste af dialogerne. For alarmdialoger tilføjede vi det til en kø for den fane og viser køen med dialoger næste gang fanen er i forgrunden, men vi tillader øjeblikkeligt, at JavaScript for den fane genoptages. For bekræftelse og hurtig dialog vil vi straks returnere falske / nul for at forhindre JavaScript i at blokere, da blokering af scriptudførelse ville bryde vilkårlige faner, muligvis den, som brugeren interagerer med.
Ændringen skulle stoppe webmastere, der bruger disse JavaScript-funktioner til at irritere eller angribe brugere af Chrome-browseren.
Google bemærker, at ændringen vil påvirke alle websteder, der bruger disse JavaScript-dialoger. Virksomheden foreslår, at websteder implementerer alternativer, f.eks. Bruger Notifications API i stedet.
Betyder det, at Google vil ændre Google Kalenders brug af alarm () til underretninger? Det vil tiden vise.
Hvis du ser på andre browsere, vil du bemærke, at de har implementeret funktionaliteten for mange år siden. Både Firefox og Opera har haft denne mulighed implementeret i årevis.