簡體   English   中英

Office Web應用程序(Word,Excel,Powerpoint)加載項在Windows 7的IE11中刪除cookie

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM