1

我目前正在管理一個我沒有開發的電子商務網站。開發人員選擇這樣做是爲了當您查看某個項目時,單擊「Add to Cart」按鈕使用jQuery的「post」方法通過Ajax將項目的ID和指定數量發佈到「/ items/ajax_add_to_cart」。IE9自動在某個頁面上輸入兼容性視圖

我從網站的所有者那裏得到一份報告,有兩三名客戶表示他們正在將商品添加到購物車中,但他們的購物車似乎是空的。我調查,發現在Apache訪問日誌以下條目(IP地址和URL改變):

127.0.0.1 - - [19/Sep/2011:12:49:50 -0400] "GET /items/view/1234 HTTP/1.1" 200 12117 "http://www.example.com/items/search/[keyword]" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; WOW64; Trident/5.0)" 

127.0.0.1 - - [19/Sep/2011:12:50:15 -0400] "POST /items/ajax_add_to_cart HTTP/1.1" 200 15 "http://www.example.com/items/view/1234" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; BRI/1)" 

127.0.0.1 - - [19/Sep/2011:12:50:16 -0400] "GET /items/view_cart HTTP/1.1" 200 10305 "http://www.example.com/items/view/1234" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; WOW64; Trident/5.0)" 

注意,當「/項目/ ajax_add_to_cart」頁面被訪問時,用戶代理字符串暗示的Internet Explorer 9自動進入兼容性視圖。這就解釋了爲什麼購物車最終變空了。不過,我無法複製這一點。

爲什麼會發生這種情況的任何想法?我可能會添加<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>標籤來修復它,但我希望能夠首先重現問題,以便完全確定發生了什麼。

+0

我知道您更改了IP地址,因此您引用的地址不是真實的用戶地址,但請注意,IE9的默認配置是使用「本地Intranet」中站點的兼容模式進行呈現。既然你沒有指定實際的IP地址,我不知道這是否是這裏的問題。這可以在瀏覽器配置中關閉或使用'http-equiv'元標記或HTTP標頭覆蓋。 – Spudley

+0

@Spudley我感謝你的幫助,但這似乎並不是問題所在。我知道您可以將域添加到「本地Intranet」區域,但我不認爲您可以添加特定頁面(本例中爲http://www.example.com/items/ajax_add_to_cart)。這就像IE9自然進入該頁面上的兼容性視圖,但僅適用於這兩個或三個用戶。 – Nick

+0

我有我的懷疑,這就是爲什麼我發佈它作爲評論,而不是作爲答案。但這是我能想到的唯一的事情。我建議的其他事情是使用W3C Validator檢查您的HTML有效性。但我想最大的問題是爲什麼Ajax會對瀏覽器模式產生影響? Ajax事件不會[不應該]導致頁面刷新,所以它們不應該改變瀏覽器模式。 – Spudley

回答

4

我最近被要求拯救IE9自動進入兼容性視圖的兩個站點。在這兩個例子中,這個問題都是一行CSS。幾乎令人難以置信。在這兩種情況下,CSS的語法都是正確的。第一個是字體聲明,第二個是字體系列聲明。兩者都包含一個字體堆棧。刪除線路解決了問題。所以,這可能不是你正在尋找的答案,但我會說檢查CSS!

+0

這非常有趣。我遇到了類似的問題,並沒有想過看CSS。我知道你在大約一年前發佈了這個內容,但是我可以問,你是否在這些網站中使用自定義字體嵌入? –

+0

這是由於IE9和IE10不支持Type 1字體。 參考: http://bobbyjoneswebdesign.blogspot.com/2011/12/internet-explorer-9-type-1-font-bug.html http://stackoverflow.com/questions/15011653/internet-explorer - 自動開關到兼容模式-IE9和 - IE10 –