iPhone과 같은 휴대 기기 및 데스크톱에서 실행되도록 설계된 웹 응용 프로그램이 있습니다. 최근 iOS 기기로 iOS6으로 업그레이드 할 때까지 iOS 기기에서 항상 정상적으로 작동합니다. 이제 우리는 iOS6의 Safari에만 해당되는 이상한 버그를보고 있습니다. iOS5 Safari에서는 여전히 정상적으로 작동하며 iOS6 Chrome에서는 정상적으로 작동합니다.iOS6 Safari JavaScript Ajax 폴링 버그?
버그는 서버 업데이트를 쿼리하는 방식과 관련이 있습니다. 5 초마다 발생하도록 Ajax 호출을 설정했습니다. Ajax 호출은 새 데이터를 반환하고 클라이언트 측은 새 데이터로 업데이트합니다. Safari/iOS6에서 지금보고있는 동작은 이전 호출이 반환 될 때 호출이 즉시 발생하고 결과가 항상 새로 고침되고 다시 칠해져 사용할 수 없게 만드는 페이지라는 것입니다. 작은 회 전자는 항상 잘 보이며 페이지 로딩이 멈추지 않는 것처럼 보입니다.
$(document).ready(function(){
getUpdates();
var refresh = 5000;
setInterval("getUpdates()", refresh);
});
function getUpdates() {
$.post("status.jsp", {}, function(status){
// do client-side rendering here
}, "json");
}
사파리의 버그는 이것이다 :
여기를 설정하는 클라이언트 측 자바 스크립트 코드는? 내 코드의 버그? 해결 방법이 있습니까? 내 웹 앱은 현재 아이폰에서는 쓸모가 없다. 좋은 상황이 아니다. 감사합니다.
ios6 safari caches ajax results. 이 [질문] 참조하십시오 (http://stackoverflow.com/questions/12506897/is-safari-on-ios-6-caching-ajax-results) –
** fyi ** 당신은'setInterval ("getUpdates() ", 새로 고침)''setInterval (getUpdates, refresh);'를 사용하여 'eval'이 사용되지 않도록합니다. – andlrc
NuclearGhost, 그게 고정, 당신은 대답에 넣어 수 있으며 그것을 받아 들일 수있는 몇 가지 의견을 제공합니까? – bluedevil2k