1

현재 개발하지 않은 전자 상거래 웹 사이트를 관리하고 있습니다. 개발자는 항목을 볼 때 "장바구니에 추가"버튼을 클릭하면 jQuery의 "게시"방법을 사용하여 Ajax를 통해 항목의 ID와 지정된 수량을 "/ items/ajax_add_to_cart"에 게시합니다.IE9가 특정 페이지에 자동으로 호환성보기를 입력합니다.

2 ~ 3 명의 고객이 장바구니에 상품을 추가하고 있지만 장바구니가 비어 있다고 신고 한 웹 사이트 소유자의 신고가 있습니다. 나는 아파치 액세스 로그에 다음과 같은 항목 (IP 주소 및 URL 변경) 조사 발견은 "/ 항목/ajax_add_to_cart"페이지에 액세스 할 것을

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)" 

공지 사항, 사용자 에이전트 문자열을 의미하는 인터넷 익스플로러 9 자동으로 호환성보기로 이동했습니다. 카트가 비어있는 이유를 설명합니다. 그래도 이걸 복제 할 수는 없습니다.

왜 그런지에 대한 아이디어가 있습니까? 나는 아마 그것을 수정하기 위해 <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> 태그를 추가 할 것이지만, 나는 무엇이 계속되고 있는지를 절대적으로 확신하기 위해 문제를 재현 할 수 있기를 원한다.

+0

IP 주소를 변경 했으므로 인용 한 주소는 실제 사용자 주소가 아니지만 IE9의 기본 구성은 '로컬 인트라넷'의 사이트에 호환 모드를 사용하여 렌더링하는 것입니다. 실제 IP 주소를 지정하지 않았으므로 여기서 이것이 문제인지는 알 수 없습니다. 이것은'http-equiv' 메타 태그 또는 HTTP 헤더를 사용하여 브라우저 설정에서 해제하거나 덮어 쓸 수 있습니다. – Spudley

+0

@ Spudley 귀하의 도움에 감사 드리지만 그 문제는 아닙니다. "로컬 인트라넷"영역에 도메인을 추가 할 수는 있지만 특정 페이지 (이 경우 http://www.example.com/items/ajax_add_to_cart)를 추가 할 수 있다고는 생각하지 않습니다. IE9가 자연스럽게 해당 페이지의 호환성보기로 들어가는 것처럼 보이지만 2 ~ 3 명의 사용자 만 사용할 수 있습니다. – Nick

+0

나는 내 의구심을 가지고 있었는데, 나는 대답이 아닌 코멘트로 올렸다. 그러나 그것이 내가 생각할 수있는 유일한 것입니다. 내가 제안 할 수있는 유일한 방법은 W3C 검사기로 HTML 유효성을 검사하는 것입니다. 하지만 Ajax가 브라우저 모드에 어떤 영향을 미칠까요? Ajax 이벤트는 페이지를 새로 고치지 않아도되므로 이미 브라우저 모드를 변경하지 않아야합니다. – Spudley

답변

4

최근에 IE9가 자동으로 호환성보기로 변경된 두 사이트를 구해야합니다. 두 경우 모두 CSS의 단일 행이었습니다. 거의 믿을 수 없군. 두 경우의 CSS는 올바른 구문으로 유효했습니다. 첫 번째는 폰트 선언이었고 두 번째는 폰트 패밀리 선언이었다. 두 가지 모두 글꼴 스택을 포함합니다. 선을 제거하면 문제가 해결되었습니다. 그래서, 당신이 찾고있는 답변이 아닐지도 모르겠지만 CSS를 확인해보십시오!

+0

이것은 매우 흥미 롭습니다. 나는 비슷한 문제를 안고 CSS를 보려고 생각하지 않았다. 나는 거의 1 년 전에 이것을 게시 한 것을 알고 있지만, 그 웹 사이트에 사용자 정의 글꼴 임베딩을 사용 했습니까? –

+0

IE9 및 IE10에서 지원되지 않는 유형 1 글꼴로 인해 발생합니다. 은 참조 : http://bobbyjoneswebdesign.blogspot.com/2011/12/internet-explorer-9-type-1-font-bug.html http://stackoverflow.com/questions/15011653/internet-explorer - 자동 전환 모드 - 호환 모드 - ie9-and-ie10 –

관련 문제