如何可靠地偵測瀏覽器類型
在開發特定瀏覽器的擴充功能時,準確識別使用者的瀏覽器至關重要。檢測瀏覽器類型對於為每個瀏覽器提供正確的插件至關重要。
有問題的偵測方法
一個常見的方法是檢查使用者代理字串。然而,這種方法並不可靠,因為攻擊者可以輕易地欺騙這個數值。因此,有必要採用更可靠的技術。
瀏覽器鴨子類型
鴨子類型是一種更可靠的瀏覽器檢測方法。以下是採用此方法的 JavaScript 程式碼片段:
// Opera 8.0+ var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; // Firefox 1.0+ var isFirefox = typeof InstallTrigger !== 'undefined'; // Safari 3.0+ "[object HTMLElementConstructor]" var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification)); // Internet Explorer 6-11 var isIE = /*@cc_on!@*/false || !!document.documentMode; // Edge 20+ var isEdge = !isIE && !!window.StyleMedia; // Chrome 1 - 79 var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime); // Edge (based on chromium) detection var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1); // Blink engine detection var isBlink = (isChrome || isOpera) && !!window.CSS;
功能偵測與瀏覽器偵測
如果可能,請選擇功能偵測而不是瀏覽器偵測。功能檢測涉及檢查特定功能或物件是否存在,從而提供更可靠且獨立於瀏覽器的方法。
範例用法
要使用瀏覽器偵測程式碼,請依照下列步驟操作步驟:
請記住謹慎使用瀏覽器檢測,並且僅在必要時使用,例如顯示特定於瀏覽器的安裝說明。功能檢測應該是確保相容性和優化使用者體驗的主要工具。
以上是如何在 JavaScript 中可靠地檢測瀏覽器類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!