【问题标题】:check for IE and display another page检查 IE 并显示另一个页面
【发布时间】:2010-02-15 00:18:24
【问题描述】:

我有一个当前未在 IE 中呈现的 Web 应用程序。目前,我想检查 IE 并为 IE 访问者显示另一个页面。我该怎么做?我需要 javascript 还是 PHP?

【问题讨论】:

标签: php javascript html css


【解决方案1】:

除了$_SERVER['HTTP_USER_AGENT'],您还可以使用 IE 的条件 cmets,结合元标记或 javascript,如下所示:

<!--[if IE]>
   <meta http-equiv="refresh" content="0;URL=/IEonly.php" />
<![endif]-->

【讨论】:

  • 呃,你打败了我半分钟...在 iPhone 上键入代码不是要走的路... =/
  • 在我使用任何其他方法之前,我会先使用条件 cmets,因为 USER_AGENT 并不完全符合它的预期......并且其他方法可能会在条件 cmets 之前中断永远都会。
  • ricebowl +1 有这个想法,并且让你如此上瘾,甚至在你的 iPhone 上:P
【解决方案2】:

这是一个 PHP 函数,我更喜欢 PHP,因为理想情况下,您应该知道服务器端的浏览器而不是客户端的浏览器。

function detect_ie()
{
    if (isset($_SERVER['HTTP_USER_AGENT']) && 
    (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
        return true;
    else
        return false;
}

这个 sn-p 将返回 true 的浏览器是 IE,在这个 sn-p 中没有检查浏览器版本,因为它不是您的问题所要求的

希望对你有帮助

【讨论】:

  • 谢谢。我怎样才能将它重定向到另一个页面?我想在这里使用相对 URL。
  • 服务器和客户端的javascript都可以查看用户代理。也不是 100% 的解决方案,因为浏览器有时会将用户代理伪装成看起来像其他浏览器(实际上是为了避免被浏览器检测到)。在 javascript 中,我认为您可以从 navigator.userAgent 获取用户代理
【解决方案3】:

PHP 可以做到。检查$_SERVER['HTTP_USER_AGENT']。

【讨论】:

    【解决方案4】:

    JavaScript 也可以做到。你有 navigator 对象,它有一堆识别浏览器的属性:

    • appName:浏览器的名称。
    • appVersion:版本 浏览器。

    根据您使用的浏览器,您可以重定向到另一个页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多