我想阻止Safari的所有用戶訪問我的Flash遊戲網站。我希望他們看到一張臉被打的臉,而不是遊戲。如何從我的網站阻止Safari用戶?
我的理解是,您可以使用JavaScript來做到這一點,但我不想使用像JQuery這樣的重型框架。有沒有辦法像JavaScript中的一行或兩行那樣做?
我想阻止Safari的所有用戶訪問我的Flash遊戲網站。我希望他們看到一張臉被打的臉,而不是遊戲。如何從我的網站阻止Safari用戶?
我的理解是,您可以使用JavaScript來做到這一點,但我不想使用像JQuery這樣的重型框架。有沒有辦法像JavaScript中的一行或兩行那樣做?
這是一個可怕的,可怕的想法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();
}
+1爲*「可怕的,可怕的想法」*。對於無法選擇網頁瀏覽器的用戶來說,這些類型的「想法」尤其令人討厭。不幸的是,有些人會懲罰用戶,因爲瀏覽器供應商會真正關心的愚蠢/妄想的觀點。 – 2010-06-07 11:18:03
@安迪喲。我全都是爲了抗議蘋果的政策 - 我發現其中很多都是可怕的和不道德的 - 但是騷擾你的用戶是不會有所幫助的。從來沒有。 – 2010-06-07 11:19:46
非常感謝! 這是完美的 - 通過添加window.location =「no-safari.html」而不是提醒它移動頁面! – 2010-06-07 11:28:37
if(navigator.appName == "Safari")
{
....your code goes ....
}
更多,但你可以很簡單地切下來,因此只能在Safari困擾:http://www.quirksmode.org/js/detect.html
稍微更加堅實的方法是使用服務器端檢測像php的方法get_browser([string $user_agent [, bool $return_array = false ]])
不用說,這有點傻。
如果你只是使用jQuery,我敢肯定,你可以*在他們的臉上打他們,而不是隻顯示一個人被打在臉上的照片。 – 2010-06-07 11:04:09
呃......這是非常沉重的手段,阻止所有的Safari用戶,並顯示在臉上被打的圖片。不是說我應該用SO來推廣我的社會政治理想,但我敢肯定,這裏至少大多數人會同意 – 2010-06-07 11:06:20
爲什麼你想阻止Safari遊戲用戶從Flash遊戲? Safari不會在Safari中運行良好?無論如何,你應該完全放棄這個,並使用jQuery來代替。 – Amarghosh 2010-06-07 11:06:22