Office Web 应用程序(Word、Excel、Powerpoint)加载项在 Windows 7 上的 IE11



我将其作为其他有此问题的人的问题和答案发布,因为它绝对是要调试的PITA。


我们有一个适用于 Word 的任务窗格外接程序,该外接程序具有使用 cookie 存储会话状态的登录页面。这在除Windows 7上的Internet Explorer 11中的Word Web之外的所有内容中都完全有效。

通过使用 Fiddler,我们可以看到我们的 cookie 已设置并且一切正常,甚至会话 cookie 保持不变(这完全是另一个问题),但无论出于何种原因,.AspNet.ApplicationCookie永远不会与HTML页面的请求一起被发回 - 但它被发回JavaScript的请求。跆拳道。

查看这篇文章的答案:Cookie 被阻止/未保存在 Internet Explorer 的 IFRAME 中


该问题与Word Web中任务窗格位于IFRAME中的事实有关。它与P3P政策有关 - 据我们所知,这些政策不会被其他任何东西使用。

无论如何,以下是该答案中的重要部分:

我一天中的大部分时间都在研究这个P3P的东西,我觉得有必要分享我的发现。

我注意到P3P概念已经过时了,似乎只有Internet Explorer(IE)才能真正使用/强制执行。

最简单的解释是:如果您使用 cookie,IE 希望您定义 P3P 标头。

。和解决方案...

简而言之 - 为了让IE满意 - 将以下行添加到您的PHP代码中(其他语言应该看起来相似)

header('P3P: CP="Potato"');

问题解决了,IE对这个土豆很满意。

所以基本上你需要把这个HTTP头添加到所有响应中,让IE打球。

如果您使用 IIS 来托管您的网站,请将以下内容添加到 web.config:

<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="P3P" value="CP='Potato'" />
</customHeaders>
</httpProtocol>
<system.webServer>
<configuration>

最新更新