簡體   English   中英

ChromeFrame忽略跨站點導航中的X-UA兼容標頭

[英]ChromeFrame ignoring X-UA-Compatible header in cross-site navigation

我試圖將一組Web應用程序從.NET 2.0 WebForms遷移到WCF Web服務提供的HTML5 Backbone應用程序,但遇到了很大的麻煩。

並排托管兩個站點,每個站點都使用web.config進行以下設置:

新應用程式

<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=edge,chrome=1" />
  </customHeaders>
</httpProtocol>

舊版應用

<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=7,9" />
  </customHeaders>
</httpProtocol>

安裝了Chrome瀏覽器內嵌框架后,似乎可以獨立訪問每個站點了,但是據我所知,使用超鏈接從一個站點鏈接到另一個站點會使標題被忽略。 這意味着如果用戶已從我們的HTML5主頁導航到IE7,則舊目標代碼將落入IE7(與我無關)!

有人遇到過這個問題嗎?如果是,您是如何解決這個問題的?


< 抗蛇葯>

讓我們假設在啟動之前移植所有遺留代碼是不可能的。

< / antisnark>

Chrome內嵌框架已停產。

最好的選擇是切換到Chrome的舊版瀏覽器支持 ,它會根據所訪問的站點以靜默方式切換用戶的瀏覽器。

編輯

文檔中

Chrome框架作為密閉容器

GCF將所有頂級導航發送到Internet Explorer。 這是為了允許內容加載主機瀏覽器中的其他鏈接。 可以通過在HKCU \\ Software \\ Google \\ ChromeFrame下添加DWORD值HandleTopLevelRequests = 0來關閉此功能。 在這種情況下,所有后續的頂級導航都將保留在Chrome框架內,無論它們是否具有meta標簽。

因此,要打破CF,您必須在鏈接上設置target="_top"或使用彈出窗口打開鏈接-只要注冊表項HandleTopLevelRequests設置為1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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