對於一個下載鏈接的橫幅我希望有條件地添加更多然後1個鏈接選擇的鏈接取決於所使用的瀏覽器
如果用戶在Internet Explorer中,它會顯示下載鏈接的Internet Explorer 而如果用戶使用谷歌瀏覽器或Safari瀏覽器應該顯示該瀏覽器的鏈接
對於一個下載鏈接的橫幅我希望有條件地添加更多然後1個鏈接選擇的鏈接取決於所使用的瀏覽器
如果用戶在Internet Explorer中,它會顯示下載鏈接的Internet Explorer 而如果用戶使用谷歌瀏覽器或Safari瀏覽器應該顯示該瀏覽器的鏈接
navigator.sayswho= (function(){
var N= navigator.appName, ua= navigator.userAgent, tem;
var M= ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M= M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M;
})();
這不是我的!它被張貼@kennebec在此的其他問題: jQuery browser detection?
由於OP沒有指定jQuery,我們可能不應該假設他想要使用它。 –
好的,檢查這一個然後,它是純粹的JS:http://stackoverflow.com/questions/5916900/detect-version-of-browser – theMarceloR
折騰直接進入你的答案,你有我的upvote –
使用此獲得瀏覽器信息在PHP中:
$info = get_browser(null, true);
它會返回一個數組與瀏覽器的信息。您可以使用該信息從服務器端構建適當的鏈接。有關詳細信息,請參閱文檔:http://php.net/manual/en/function.get-browser.php
有什麼限制這個?在我看來,如果瀏覽器嗅探服務器端無法高效工作。 –
@Zach L它和客戶端瀏覽器嗅探一樣糟糕,因爲它依賴於瀏覽器使用HTTP標頭髮送的信息。這根本不可靠 - 正如任何瀏覽器嗅探技術一樣。例如,Opera有一個按鈕可以切換爲應該將自己標識爲服務器的瀏覽器;一些客戶也一次發送多個瀏覽器的腳印。 – feeela
用戶代理標題總是可以被欺騙,這就是限制。 – bfavaretto
如果要檢測Internet Explorer,則必須閱讀有關conditional comments。你根本不需要Javascript。
你可以寫:
<!--[if IE]>
<a href="ielink">some text</a>
<![endif]-->
<!--[if !IE]> -->
<a href="otherlink">some text</a>
<!-- <![endif]-->
uhmmm,這將檢測Internet Explorer,但多數民衆贊成,除非我困惑。 –
很好的說明! –
Oohhh,但你的'if!IE'語法看起來不對。應該是' ... <! - ' –
查找瀏覽器/ UA嗅探。 –
搜索「JavaScript瀏覽器檢測」 - 應該有足夠的資源。 –