До тех пор, пока существуют различия в работе JavaScript на разных браузерах, мы пожалуй будем вынуждены определять, с каким именно клиентом мы имеем дело. А поскольку JavaScript должен быть как можно компактней, то и код, выполняющие такое определение также должен быть максимально сжат. Сегодня я не без удовольствия нашел статью, в которой описано как это можно сделать очень просто и компактно.