2009-05-07 6 views
2

내 고객의 웹 사이트는 새 창에서 외부 링크를 엽니 다 (target = "_ blank"). 링크는 원하는 페이지에 302 리디렉션으로 응답하는 로거를 통해 라우팅됩니다.IE8이 새 창에서 302 후에 멈 춥니 다.

예를 들어

, 대신

<a href="http://stackoverflow.com">...</a> 

우리는 /redirect?to=$url는 HTTP를 $url-302을 반환

<a href="/redirect?to=http://stackoverflow.com" target="_blank">...</a> 

있습니다.

IE8을 제외한 모든 브라우저에서 정상적으로 작동합니다. 원하는 URL로 새 창을 여는 대신 IE8은 새 창을 열어 진행 추세와 빈 주소 표시 줄을 사용합니다. 그런 다음 중지하고 다시로드하면 원하는 URL이로드됩니다.

누구에게이 문제가 발생 했습니까? 내 고객이 원하는 행동을 유지하는 알려진 해결책이 있습니까? 즉, 리디렉션 기반 로깅을 사용하여 새 창에서 링크를 여는 것입니다.

+0

target = "_ blank"를 꺼내면 제대로 작동합니까? – Greg

+0

예, target = "_ blank"를 제거하면 리디렉션이 작동합니다. 리디렉션을 제거하고 대상을 "빈 칸"으로 유지하면 대상 페이지도 리디렉션되지 않는 한 작동합니다. –

답변

0

그냥 해결 방법 일 뿐이라는 것을 알고 있습니다 ... 브라우저가 IE8 인 경우 JS 리디렉션을 사용 하시겠습니까?

0

Fiddler2와 같은 네트워크 트래픽 디버거에서 트래픽을 관찰하여 전선에서 어떤 일이 일어나는지 확인하십시오. 그런 다음 결과에 대한 복제를 돕기 위해 질문에 HTTP 응답의 정확한 원시 텍스트를 추가 할 수 있습니다.

또한 인터넷 보안 영역 (예 : 인터넷, 인트라넷 등)간에이 리디렉션이 교차합니까? 특히 리디렉션이 보호 모드 영역에서 비보호 모드 영역으로 넘어갈 경우 (Vista +) IE에서 다소 불분명 한 코드 패쓰를 통과하므로 항상 흥미 롭습니다.