【问题标题】:Getting the User Agent with JavaScript使用 JavaScript 获取用户代理
【发布时间】:2012-03-16 01:02:24
【问题描述】:

我想要一个脚本,它可以抓取用户的用户代理并将其支撑到一个属性。

我正在制作一个网站问题联系表,我通常需要知道用户使用的是什么浏览器。如何检测用户代理字符串并将其作为输入元素的值。

我的 html 看起来像:

<input type="hidden" id="UserAgent" name="User Agent" />

我希望将用户代理作为值属性添加到其中,因此它看起来像:

<input type="hidden" id="UserAgent" name="User Agent" value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" />

【问题讨论】:

  • 您不需要任何 JavaScript 来执行此操作。只需从 HTTP 标头中读取用户代理字符串。
  • @Bergi:实际上,只有当您希望在服务器端使用它时。使用 JavaScript - navigator.userAgent 根据接受的答案应该足够了。
  • @Robin: OP is 请求服务器端,他希望获取与他的联系表一起发布的 UA 字符串。
  • 如果您正在生成应用程序客户端的一部分,则不会。这似乎是他在做什么。

标签: javascript jquery attributes user-agent prop


【解决方案1】:

纯 Javascript

document.getElementById('UserAgent').value = navigator.userAgent;
&lt;input type="text" id="UserAgent"&gt;

jQuery

​​>

$('#UserAgent').val(navigator.userAgent);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="text" id="UserAgent">

【讨论】:

  • 请添加一个非 JQuery 替代答案。很多新开发者认为 jQuery Javascript :-(
  • 除非包含 jQuery Migrate 插件,否则将无法在 jQuery 1.9 或更高版本中使用。
  • @Davlio 这不是真的。该示例本身使用的是 jQuery 1.11.1,并且没有使用 Migrate 插件。
  • @AdamMerrifield 你是对的!我说$.browser,不能编辑评论。
【解决方案2】:

最初的 Q 没有提到 jQuery。所以

document.getElementById('UserAgent').value = navigator.userAgent;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-21
    • 2012-04-10
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    相关资源
    最近更新 更多