2010-06-07 63 views
0

我想阻止Safari的所有用户访问我的Flash游戏网站。我希望他们看到一张脸被打的脸,而不是游戏。如何从我的网站阻止Safari用户?

我的理解是,您可以使用JavaScript来做到这一点,但我不想使用像JQuery这样的重型框架。有没有办法像JavaScript中的一行或两行那样做?

+16

如果你只是使用jQuery,我敢肯定,你可以*在他们的脸上打他们,而不是只显示一个人被打在脸上的照片。 – 2010-06-07 11:04:09

+4

呃......这是非常沉重的手段,阻止所有的Safari用户,并显示在脸上被打的图片。不是说我应该用SO来推广我的社会政治理想,但我敢肯定,这里至少大多数人会同意 – 2010-06-07 11:06:20

+0

为什么你想阻止Safari游戏用户从Flash游戏? Safari不会在Safari中运行良好?无论如何,你应该完全放弃这个,并使用jQuery来代替。 – Amarghosh 2010-06-07 11:06:22

回答

25

这是一个可怕的,可怕的想法IMO。我可以理解这种情绪,但是这样做会做得很好,并且会提供尽可能多的同情,比如“停止使用IE,白痴!”等网站。消息。但这取决于你......

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

要在一行中完成,请在navigator.userAgent字符串中查找Safari

示例代码:

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(); 
} 
+7

+1为*“可怕的,可怕的想法”*。对于无法选择网页浏览器的用户来说,这些类型的“想法”尤其令人讨厌。不幸的是,有些人会惩罚用户,因为浏览器供应商会真正关心的愚蠢/妄想的观点。 – 2010-06-07 11:18:03

+2

@安迪哟。我全都是为了抗议苹果的政策 - 我发现其中很多都是可怕的和不道德的 - 但是骚扰你的用户是不会有所帮助的。从来没有。 – 2010-06-07 11:19:46

+0

非常感谢! 这是完美的 - 通过添加window.location =“no-safari.html”而不是提醒它移动页面! – 2010-06-07 11:28:37

2
if(navigator.appName == "Safari") 
{ 
....your code goes .... 
}