[英]Office Web applications (Word, Excel, Powerpoint) add-ins dropping cookie in IE11 on Windows 7
我將其發布為對存在此問題的其他任何人的問答,因為這是調試的絕對PITA。
我們有一個用於Word的任務窗格加載項,該加載項具有一個使用cookie來存儲會話狀態的登錄頁面。 在Windows 7上的Internet Explorer 11中,除了Word Web以外的所有功能都可以正常工作。
通過使用Fiddler,我們可以看到我們的cookie已經設置好,一切都很好,即使會話cookie保持不變(這完全是另一個問題),但是無論出於什么原因,.AspNet.ApplicationCookie都不會隨請求返回HTML頁面-但是正在為JavaScript請求發回。 WTF。
請參閱此帖子的答案: Cookie被阻止/未保存在Internet Explorer的IFRAME中
該問題與以下事實有關:在Word Web中,任務窗格位於IFRAME中。 它與P3P策略有關-據我們所知,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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.