Pull to refresh

У Microsoft не получается предлагать браузеры в случайном порядке

Reading time1 min
Views1.3K
На хабре уже писали о модуле выбора браузера для европейских пользователей: «Модуль выбора браузеров появляется в качестве обновлений Windows. Сразу показывается пять самых популярных (Apple Safari, Google Chrome, Microsoft Internet Explorer, Mozilla Firefox и Opera). Причем в случайном порядке.»

Как выяснили ребята со словацкого сайта DSL.sk, у модуля большие проблемы именно со случайным порядком вывода браузеров. Страница, с помощью которой предпологается выполнять требования Евросоюза, не выводит список браузеров в случайном порядке, как предполагалось. Вместо общепринятых алгоритмов используется наихудший вариант реализации перемешивания списка браузеров через сортировку массива с функцией сравнения, возвращающей случайный результат. Из-за этого вместо равновероятного размещения браузеров в списке получается смещённое. Таким образом, для IE вероятность оказаться на последнем месте первой страницы почему-то оказалась наибольшей (~50%)! Однако при этом он всегда показывается изначально на первом месте, и только после окончания «перемешивания» меняет своё местоположение. Что интересно, указанный выше алгоритм выдаётся первым при поиске по «javascript randomize array» как в google, так и в bing :)

image

Технические подробности расследования (на английском).

P.S.: Как подсказал naum код на странице поправили.
Tags:
Hubs:
Total votes 107: ↑74 and ↓33+41
Comments65

Articles