【问题标题】:How can I change the browser user agent with javascript/html?如何使用 javascript/html 更改浏览器用户代理?
【发布时间】:2016-09-16 23:55:54
【问题描述】:

我有一个在 IE7 中运行的应用程序。但是,我使用的分析应用程序之一刚刚更新,并且需要最低 IE8。是否有一种 javascript/html 方法来欺骗 IE7 中的用户代理以被检测为 IE8?

这是我目前正在做的,但它在 IE7 中不起作用

<!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="X-UA-Compatible" content="IE=8" />
 </head>
 <body>
  <script type="text/javascript">
    navigator.__defineGetter__('userAgent', function() {
    return 'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)';
    });
    alert(navigator.userAgent);
  </script>
 </body>
</html>

我只想通过javascript/html将IE7的用户代理更改为IE8。我无权访问 Windows 注册表。

有什么帮助吗?谢谢!

【问题讨论】:

  • 您无法从 JavaScript 访问浏览器环境 .. 那将是滥用向量,不是吗?
  • 你可以只使用一些浏览器扩展,比如默认用户代理。或者看看这个:howtogeek.com/113439/…
  • @AleksandarPopovic 我可以手动完成,是的。但是我想知道是否有 javascript/html 方式。它适用于将在运行 IE7 的多台机器上使用此应用程序的客户。

标签: javascript html internet-explorer internet-explorer-7 user-agent


【解决方案1】:

不,您不能从脚本更改浏览器的 UA 字符串。您可以使用扩展程序或注册表来执行此操作。

但是你的问题的前提是错误的——如果你改变 UA 字符串来“欺骗”应用程序,你可能会避免“你需要升级你的浏览器”错误消息,而你只会有损坏的页面抛出异常或布局不正确,因为它们依赖于 IE7 中不存在的 IE8+ 功能。

IE7 很硬,不安全,不应该再使用了。

【讨论】:

  • +1 因为你是对的,问题的整个概念都是错误的。但是有 种情况,网站使用UA 字符串来阻止不需要被阻止的浏览器。这是一种糟糕的做法,但是如果 OP 访问了其中一个站点,我可以理解他为什么要这样做。但最终你是对的,解决方案是升级浏览器,而不是试图让 IE7 正常工作。
猜你喜欢
  • 2014-10-09
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 2011-06-08
  • 1970-01-01
  • 2013-07-13
  • 1970-01-01
相关资源
最近更新 更多