如何从我的网站阻止Safari用户?

bla*_*ank 0 javascript browser safari

我想阻止Safari的所有用户访问我的Flash游戏网站.我希望他们看到有人在脸上而不是游戏中被打的照片.

我的理解是你可以使用JavaScript来实现它,但我不想使用像JQuery这样的重型框架.有没有办法像一行或两行JavaScript那样做?

Pek*_*ica 25

这是一个可怕的,可怕的想法IMO.我可以理解这种情绪,但这会带来同样多的好处,并提出同样多的同情,就像"停止使用IE,白痴!"的网站一样.消息.但这取决于你......

Quirksmode有一个小型的BrowserDetect库,我相信它有所有的怪癖.如果我是你,我会用它.

要在一行中执行,请Safarinavigator.userAgent字符串中查找.

示例代码:

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

如果你想100%确定你抓住它们(好吧,99%考虑到用户代理字符串可以由客户端自由更改),你需要使用像PHP这样的服务器端语言.

if (strstr($_SERVER["HTTP_USER_AGENT"], "Safari")) 
 {
  header("location:no-safari.html");
  die();
 }
Run Code Online (Sandbox Code Playgroud)

  • +1为*"可怕,可怕的想法"*.对于无法选择网络浏览器的用户来说,这些类型的"想法"特别烦人.不幸的是,一些人的意愿是惩罚用户,因为浏览器供应商实际上会关注这种愚蠢/妄想的观点. (7认同)
  • @Andy E烨.我全都是为了抗议Apple的政策 - 我发现其中很多都是可怕的和不道德的 - 但是骚扰你的用户并不会有所帮助.从来没有. (2认同)
  • 您可以通过不检查iPad/iPhone /和iPod touch Safari用户代理字符串来使其更清洁. (2认同)