2011-04-13 1 views
0

IE에 # 기호가있는 URL에 응답하지 않는 것으로 알려진 문제가있는 것 같습니다. 예 : https://mootools.lighthouseapp.com/projects/2706/tickets/638-request-fails-when-url-has-hash-in-ie7#이 (가)있는 GWT URL이 IE7에서 작동하지 않습니다.

GWT 기반 응용 프로그램에서 # 꽤 자주 사용하기 때문에 사이트를 탐색하려는 IE7 사용자를 지원하지 않습니다.

URL을 수정하는 것 외에 GWT에 대한 해결 방법이 있습니까?

답변

0

나는 마침내 문제가 무엇인지 알아 냈다고 생각합니다. 우리의 GWT 응용 프로그램은 너무

<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe> 

이 외부 HTML이 아닌 GWT 하나에서 수행 할 수있는 GWT의 역사 지원을 설정하는 또 다른 HTML 파일 내부에 iframe이로 앉아있다. 이 gwt 스크립트는 onhashchange 이벤트가 구현되지 않은 IE6 및 IE7과 같은 브라우저를 지원하기위한 것입니다.

0

역사

그 티켓은 XMLHttpRequest의에 대해, 그래서 당신의 대한 XMLHttpRequests에 해시를 사용하지 않는 ... 모든 IE 버전에서 우리의 GWT 응용 프로그램에 완벽하게 잘 작동합니다. 그것은 GWT와 아무 관련이 없습니다.

+0

내가 아약스로 태그 한 이유는 무엇인지 동의하지만 GWT를 사용하고 있기 때문에 GWT가 URL을 수정하는 것 외에 다른 대안을 제공 할 수 있다고 생각합니다. 이것은 GWT 앱에서 "#"을 전혀 사용하지 않는다는 것을 의미합니까? – Joly

+0

그리고 URL에 "#"을 사용하지 않으면 사이트가 Google의 Ajax 크롤링 구성을 준수하여 크롤링되도록 할 수 있습니다. #! URL에? http://code.google.com/web/ajaxcrawling/docs/getting-started.html 게다가 페이스 북과 같은 웹 사이트는 URL에 #이 있고 IE7에서 작동하는 것 같습니다. – Joly

+0

브라우저에 URL을 입력 할 때 URL의 "위치"부분 (# 이후 하나)이 서버로 전달되지 않습니다. 위치 (또는 원하는 경우 해시)는 엄격히 클라이언트 쪽입니다. 서버가 요청 URL에서 # 개를 허용해서는 안됩니다. 그래서 XmlHttpRequest와 함께 전달해야하는 이유가 없습니다. 일부 매개 변수를 전달하려면 대신 다음과 같이 일반 쿼리 문자열을 사용하십시오.? param1 = value1 & ... –

0

먼저 제공된 링크에서 설명하는 문제는 XMLHttpRequest를 사용하여 쿼리하는 URL과 관련이 있습니다. GWT 응용 프로그램 #은 일반 GET 요청 (페이지를 열 때, 즉 GWT 응용 프로그램을 시작할 때)에 나타날 수 있습니다. 당신이 어떤 문제가 있다면, 그들이이 문제와 관련이없는 있도록에는 #이 없다

http://yourserver.com/context/com.yourcompany.SomeModule/someService

: GWT는 XMLHttpRequest의 요청을 수행 할 때, 유사한 URL을 사용합니다.

관련 문제