我想知道行動裝置上的 Ubuntu Web 瀏覽器應用程式具有哪個用戶代理字串 (UA),以及這對現有網站有何影響?
例如,大多數網站都會正確使用它嗎?如果某些網站無法使用它,是否有某種後備用戶取得?
答案1
目前預設的 UA 字串的形式如下:
Mozilla/5.0 (Ubuntu; <formFactor>) WebKit/<webkitVersion>
其中<formFactor>
是Mobile
、Tablet
或之一Desktop
,<webkitVersion>
是 WebKit 渲染引擎的版本(目前537.21
)。
所以在手機上,目前預設的 UA 字串是:
Mozilla/5.0 (Ubuntu; Mobile) WebKit/537.21
這個預設的UA字串故意很短,理由是基於Mozilla 的 B2G UA 字串研究。
眾所周知,許多網站和 Web 應用程式無法很好地使用此預設 UA(現在的網站進行了大量極其複雜的伺服器端 UA 解析,以推斷平台功能並相應地提供客製化內容)。
為了克服這些問題,Ubuntu Touch 瀏覽器嵌入了一種覆蓋機制,允許覆蓋給定網域的預設 UA(通常添加令牌Android
可以讓我們獲得正確的內容,儘管它通常會出現安裝本機Android 應用程式的煩人提示) ,這當然不適用於平台)。該機制是一種短期解決方法。正確的長期解決方案是傳播,使用者和開發人員可以與網站作者聯繫,請求他們的頁面和應用程式識別我們的預設 UA 字串並提供足夠的內容。
請注意,在不久的將來我們將從 QtWebKit 切換到氧化物(上面一層薄薄的鉻含量 API)對於渲染引擎來說,這意味著渲染和功能實際上與 Chrome 的相同。為了反映這一點並增強與現有網站的兼容性,我們需要更新預設的 UA 字串(它將更接近 Chrome 在裝置上的預設 UA)。
答案2
Ubuntu Touch UA是:Mozilla/5.0 (Ubuntu; $FormFactor) WebKit/$WebKitRev
其中$FormFactor
變數是“Mobile”OR“Tablet”,並且$WebKitRev
包含 WebKit 引擎的版本。主要版本“5.0”也可能隨時更改。
請注意,現代瀏覽器的 UA 可以透過插件或簡單的重新配置來更改;作為開發人員,您還應該知道 SEO 不喜歡基於用戶代理的內容。如果您需要識別用戶代理不進行精確匹配(“A”==“A”),而是對子字串進行子字串搜索Ubuntu
和(Mobile
或者 Tablet
)以防止與未來版本的行動軟體的相容性問題。
請注意,Ubuntu Touch的行動瀏覽器可以即時更改UA來修復(顯然)一些不相容性:再次強調,不要只依賴該機制。
祝您有美好的一天,
如果您還有其他問題,請告訴我們。
來源:達克網
答案3
有一種更簡單的方法可以檢查任何瀏覽器發送的用戶代理字串。您只需訪問http://www.murl.mobi/headers.php此頁面提取並顯示 HTTP 請求標頭。最近發表的一篇文章使用 python 進行用戶代理分析給出了一種程式方法來分析網路伺服器看到的實際用戶代理字串。