我正在使用Firefox的Modify Headers plugin以更改用戶代理程序。 我需要這樣做(測試)的原因是加載不同的CSS,具體取決於它是iOS還是Android手機。Javascript navigator.userAgent始終在Firefox中顯示相同的代理程序
運行此腳本
<script type="text/javascript">
var agent = navigator.userAgent.toLowerCase();
alert(agent);
</script>
我總是得到這樣的輸出:
的Mozilla/5.0(窗口nt 6.1; WOW64; RV:26.0)壁虎/ 20100101 火狐/ 26.0
即使我可以在Thunderbird中看到以下內容:
用戶代理:Mozilla/5.0(iPad; CPU OS 5_1,例如Mac OS X) 爲AppleWebKit/534.46(KHTML,例如Gecko)版本/ 5.1移動/ 9B176 的Safari/7534.48.3
這是一個Firefox的具體問題?
我不明白。你問,你的Firefox插件似乎不工作的事實是一個Firefox的具體問題? –
是 - 或者如果錯誤地使用'navigator.userAgent'來檢測設備。 – Steven
@Steven - 通常認爲使用用戶代理字符串進行設備/瀏覽器檢測是不好的做法。應該編寫代碼以適應正在運行的瀏覽器的功能,而不必使用用戶代理字符串,即使用功能檢測而不是瀏覽器檢測。像Modernizr這樣的工具可以幫助解決這個問題。 (在少數情況下瀏覽器檢測可能仍然需要,但它們很少見,主要限於舊版IE) – Spudley