2013-05-09 2 views
0

SignalR의 클라이언트 이벤트 (javascipt 함수)에서 sammy.setLocation ("# xxx"); IE10은 SignalR 백그라운드 요청 [1]으로 시작하는 긴 URL로 이동했습니다. 하지만 Chrome은 정상적으로 작동합니다.IE에서 SignalR과 Sammy.js의 동작이 잘못되었습니다.

 var navigating = $.connection.navigatinghub; 
     navigating.client.navigateInPage = function (url) { 
      sammy.setLocation("#" + url); 
     }; 

내 목표는

http://localhost:30014/#xxx 

입니다 그러나 IE10은에 탐색 :

http://localhost:30014/signalr/connect?transport=foreverFrame&connectionToken=AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAtb8ox8I2WUGbubMEpY1ojgAAAAACAAAAAAAQZgAAAAEAACAAAABo9BEScEcfj7EykqEQM76utKY8Gykf0zUEfLdN%2Fj26hgAAAAAOgAAAAAIAACAAAAB0nlIDPLRfOgBH%2FltNOm5jURr0%2F%2Blluc4hnaG2wGQ8DTAAAAAJt7I28p7%2Bq5UeTiQXmnfB%2BbsQCgCqomTQKSXxYRt3LPIMq4gRwcscvuj0mTAXb2tAAAAA8QIiSemy27RcO8IuLr%2Feq5VpMSqEK%2BSX29Xvbm48o4yuNKeppsjFwHfmrMjq6eFwH0sFk4X8bbUkgRMZ3Uyjcw%3D%3D&connectionData=%5B%7B%22name%22%3A%22navigatinghub%22%7D%5D&tid=10&frameId=1#xxx 

답변

2

이 SignalR이 URL을 iframe 내부에서 navigationInPage 함수를 호출하여 발생이 http://localhost:30014/signalr/connect?transport=foreverFrame&... 될 일이.

sammy.setLocation("#" + url);은 iframe의 url과 IE의 새로운 위치에 대한 접두어로 사용하고있는 것 같습니다.

window.location.hash = "#" + url; 어디서나 작동하는 것 같습니다.

영원히 프레임 전송 is only used in IE이 브라우저는이 문제 만보고 있습니다.

+0

얼마나 빠르고 자세한 설명입니까! – victorwoo

관련 문제