[英]How to turn on IE9 Compatibility View programmatically in Javascript
我需要以編程方式打開IE兼容性。
我知道這在C#中有效:
Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" });
我的問題是我所有的窗口都顯示在JS函數中:例如:
function openRadWin(idAgir) {
radopen("DemandesEnAttente_Estimate.aspx?id=" + idAgir, "RadWindow1");
}
所以我的問題是:在JS中有什么方法可以做同樣的事情?
提前致謝
AFAIK,這是不可能的。 您可以從JS中檢測到兼容模式 ,但據我所知無法進行設置。
至於問題所在,通常您可以使用幾種解決方案:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
)。 例如,對於IIS7 / IIS7.5,可以使用web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-UA-Compatible" />
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
</customHeaders>
</httpProtocol>
</system.webServer>
我建議使用#1或#2-如果您沒有母版頁或基礎頁類,那么也許是介紹兩者的好時機。
您可以嘗試將此HTML標簽添加到任何需要兼容性的頁面的頂部:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
這樣,您就不需要JavaScript解決方案。 當然,如果您具有更改HTML的能力,那么最好的解決方案是修復頁面,使其不需要向后兼容。
我相信影響客戶端標頭的唯一方法是使用XmlHttpRequest請求頁面時。 對我來說,談論在頁面加載后修改標頭沒有意義,這實際上是您要的內容。
您的C#示例所做的是在HTML頁面中添加以下meta標簽:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
如果您在運行JS代碼的頁面上手動執行此操作,則它將正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.