单击Excel / Word中的链接,并且该链接将您带到检查用户代理以确定其是否受支持的站点时,该站点可能错误地认为您正在使用MSIE 7.0,而实际上您是使用别的东西,比如Chrome。
当检查与请求一起发送的用户代理时,它显示该请求来自MSIE 7.0 - 从用户的角度来看,显然没有使用MSIE 7.0。
这里发生了什么?如何停止向用户显示错误消息?
答案 0 :(得分:8)
问题似乎是Excel / Word在点击时尝试预加载链接。如果成功加载,它将使用给定的链接打开您的默认浏览器。但是,在预加载链接时,它还会遵循302重定向。如果该站点不支持MSIE7(现在变得相当普遍),它很可能会将您重定向到信息/错误页面。然后,预加载例程将在您的浏览器中打开此页面而不是原始链接,从而产生一条消息,可能会解释为什么不支持MSIE 7.0 - 但会让那些能够清楚地看到该页面是使用Chrome加载的用户感到困惑。
是否有推荐的编码方式?
如果之前已经回答过,请告诉我。我希望它有所帮助。
答案 1 :(得分:5)
最简单的解决方案是在“IE 7不支持的页面”上进行浏览器检查。 Office程序遵循重定向(基于它发送的错误用户代理字符串)将加载错误页面,接收HTTP 200响应,然后将链接抛到默认浏览器。然后,浏览器使用正确的用户代理字符串请求页面本身。
因此,一旦浏览器请求页面,您就可以使用用户代理字符串来查看您是否确实要发回“不支持”页面,或将请求重定向到真实内容。
但是,这会引发找到重定向的原始URL的问题。最初请求页面的Office进程与最终传递结束点URL的浏览器之间存在共享会话的问题。此处的解决方法是将原始请求URL作为查询字符串参数包含在“不支持”页面的重定向响应中。