Большинство ботов вообще не запускают Javascript-код.Они загрузят ваш код и изучат его, чтобы увидеть, что он делает, о чем он, или какова бы ни была функция этого конкретного бота, но им обычно не нужно фактически запускать какой-либо код JS, чтобы сделать это.
Те, кто выполняет код JS, будут делать это в среде, которая будет отличаться от бота к боту.Некоторые могут имитировать среду браузера, другие могут работать в реальном браузере.Но, не зная о внутренностях всех ботов, с которыми вы, вероятно, столкнетесь, вы действительно не сможете точно решить ее с помощью такого инструмента, как Modernizr.браузер, обнаружение браузера считается плохой вещью, а обнаружение функций (то есть Modernizr) считается лучшим решением.
Однако правила меняются, когда речь идет о ботах, из-за факторов, которые я обсуждал выше,и действительно становится легитимным делать для них обнаружение на основе их строки агента пользователя.
Любой легитимный бот предоставит строку UA, которая идентифицирует себя как таковую, и ее должно быть довольно легко обнаружить.
Если бот не предоставляет идентифицируемую строку UA, значит, он не является законным ботом, поэтому у вас нет никаких оснований уделять ему особое внимание, чтобы облегчить ему жизнь.