2013-08-28 37 views
1

大家好希望你能幫助的,停止IE 9使用兼容模式,因爲JS注入

我操作使用服務器端的PHP(phpQuery庫),這是注射一些最小的js成HTML頁面的頁眉一個CMS 。

我的問題是,我想添加meta標籤強制ie9使用標準模式。但是,當我注入的元標記與PHP後,JavaScript注入後強制我的元標記下來,並設置ie9進入compat模式。

我有沒有控制注入JavaScript,但可以添加我自己的腳本,如果這將工作。

在調試時查看視圖源和檢查元素,我可以看到頁面上加載的js強制關閉元標記。

我可以用我自己的js讓他們備份嗎?我在印象中需要在頁面加載之前設置元標記,即服務器。

+0

什麼是您要添加什麼meta標籤的頭部代碼。其很難看到什麼是錯的,沒有代碼。 – Pogrindis

回答

0

要創建使用Internet Explorer查看時顯示在標準模式中的網頁,使用HTML5文檔類型指令,如下面的代碼示例:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Enabling Standards Support</title> 
</head> 
<body> 
    <p> 
    Because this webpage uses the HTML5 document 
    type, it is displayed in IE9 Standards mode. 
    </p> 

</body> 

所以,你的JS只應在加入

<!DOCTYPE html> 

被聲明。

如果您的網頁不包含!DOCTYPE指令或者它指定了非標準模式文檔類型,Internet Explorer將以IE5(怪癖)模式顯示您的網頁。發生這種情況時,Internet Explorer將忽略需要標準模式的網頁中的功能。

REF:http://msdn.microsoft.com/en-us/library/ie/gg699338(v=vs.85).aspx

+0

謝謝,HTML5文檔類型在標記中。真正奇怪的是,一些ie9/10瀏覽器似乎運行良好,其他人正在恢復到ie7 compat視圖。 – ChrisSherwood

+0

這可能是由於您的瀏覽器上的本地Intranet設置造成的。 AFAIK在您的IE設置中應該有一些選項作爲默認的「以兼容模式運行Intranet」。我不知道這是否適用於你雖然.. – Pogrindis

+0

我知道我認爲我的機構正在爲不同的用戶運行不同的區域 - 這就是爲什麼我的Windows測試框運行正常,其他人默認爲ie7!我採取了抓住我需要的HTML並使用ie條件測試寫出來,這不是一個很好的解決方案,但必須做。非常感謝您的時間! – ChrisSherwood