【问题标题】:why clicking a hyperlink in excel will generate an HTTP request with MSIE 7.0 in User Agent?为什么单击 excel 中的超链接会在用户代理中生成带有 MSIE 7.0 的 HTTP 请求?
【发布时间】:2011-04-30 17:06:30
【问题描述】:

我们的应用程序将导出一个包含超链接数据的 Excel。如果点击超链接,浏览器会自动跳转到特定页面。我在 Windows XP 上使用 IE8。

现在,我注意到 Fiddler 中的以下行为:

  1. 在 Excel 中单击超链接时,HTTP 请求中的用户代理如下所示:

    用户代理:Mozilla/4.0(兼容;MSIE 7.0;Windows NT 5.1;Trident/4.0;....

  2. 上述步骤实际上打开了登录页面。如果我输入用户凭据并登录,那么用户代理将如下所示: 用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0...

我的疑问是:为什么在步骤 1 中使用 MSIE 7.0,而我使用的是 IE8.0? (测试时我没有开启兼容性视图)

【问题讨论】:

  • 听起来像是兼容模式问题。这是一个什么样的链接?是本地链接还是局域网链接?

标签: internet-explorer internet-explorer-8 browser user-agent


【解决方案1】:

我认为this link 回答了我的疑问。我在下面添加后,在用户代理中使用了 MSIE 8.0(从 excel 中单击超链接时)

[(HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "excel.exe" = dword 8888

【讨论】:

  • 正确。默认情况下,非 IE 应用程序默认使用 CompatView。您使用的是哪个版本的 Excel?我的猜测是您使用的版本仍然使用 HLINK.DLL,如果 IE 是默认浏览器,它将在进程内调用 URLMon。
  • 这发生在 excel 2007 和 2010 上。IE 不是我的默认浏览器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-28
  • 1970-01-01
  • 2011-12-08
  • 2017-05-30
  • 1970-01-01
相关资源
最近更新 更多