Как заблокировать пользователей Safari на моем сайте? - PullRequest
0 голосов
/ 07 июня 2010

Я бы хотел запретить всем пользователям Safari посещать мой сайт флеш игры. Я бы хотел, чтобы они увидели, как кто-то ударил по лицу вместо игр.

Насколько я понимаю, вы можете использовать JavaScript для этого, но я не хочу использовать какой-то тяжелый фреймворк, такой как JQuery. Есть ли способ сделать это в виде одной или двух строк JavaScript?

Ответы [ 3 ]

25 голосов
/ 07 июня 2010

Это ужасная, ужасная идея ИМО.Я могу понять настроение, но это принесет столько же пользы и вызовет столько же сочувствия, сколько сайты с "Перестань использовать IE, придурок!"Сообщения.Но это зависит от вас ....

Quirksmode имеет небольшую библиотеку BrowserDetect , которая, я уверен, имеет все причуды.На твоем месте я бы этим воспользовался.

Чтобы сделать это в одной строке, найдите Safari в строке navigator.userAgent.

Пример кода:

if (navigator.userAgent.indexOf('Safari/') != -1){
 alert("Safari detected");
}

Если вы хотите сделать 100%если вы поймаете их всех (ну, на 99%, учитывая, что клиентский агент может свободно изменять строку пользовательского агента), вам нужно будет использовать серверный язык, такой как PHP.

if (strstr($_SERVER["HTTP_USER_AGENT"], "Safari")) 
 {
  header("location:no-safari.html");
  die();
 }
2 голосов
/ 07 июня 2010

Более пары строк, но вы можете очень просто сократить это, так что это беспокоит только Safari: http://www.quirksmode.org/js/detect.html

Несколько более надежный метод - использовать метод обнаружения на стороне сервера, такой как phpget_browser([string $user_agent [, bool $return_array = false ]])

Излишне говорить, что все это немного глупо.

2 голосов
/ 07 июня 2010
if(navigator.appName == "Safari")
{
....your code goes ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...