2010-06-07 65 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 .... 
}