2009-05-12 5 views
3

전체 문서 내용을 ajax 요청에서 얻은 응답으로 대체 할 수 있어야합니다.iPhone에서 문서 본문 바꾸기

나는 document.body.innerHTML에 할당하려고 시도했으며 document.write()을 사용해 보았습니다. 두 가지 모두 데스크톱 Safari에서 작동하지만 iPhone/iPod Touch 용 솔루션이 필요합니다. document.body.innerHTML을 수정하면 예외가 발생하고 document.write() 함수는 모바일 사파리에서 정의되지 않습니다.

본질적으로 양식 게시가 완료되기를 기다리는 동안 활동 표시기가 표시됩니다. 완료까지 시간이 걸릴 수 있기 때문에 사파리가 응답을 렌더링하기 시작하기를 원합니다.

답변

0

난 그냥 내 3G 아이폰에 테스트하고 document.body.innerHTML 설정하여 잘 일했다. 내 테스트에서 jQuery를 사용하여 js를 실행하기 전에 본문이로드되었는지 확인했습니다.

<html> 
<head> 
<script type="text/javascript" src="/js/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    document.body.innerHTML = 'it worked'; 
}); 
</script> 

</head> 
<body> 
This is a test 
</body> 
</html> 
+0

사용자 에이전트가 IPhone으로 설정된 상태에서 Safari 4 베타 중입니다. 내가 가지고있는 iPod touch에서는이 기능이 작동하지 않습니다. 또한 전체 HTML 응답을 innerHTML 속성에 지정합니다. –

+0

흠, 자바 스크립트로 넘기기 전에 HTML 응답에서 html, head 및 body 태그를 벗겨 내려 했습니까? html 또는 body 태그를 body 태그에로드하는 것이 좋지 않을 수도 있습니다. – kbosak

+0

@Martin 아약스 요청에이 응답에 대한 응답에 기반한 전체 페이지가 포함되어 있다고 가정합니다. 이것이 사실이라면 AJAX를 왜 사용하고 있습니까? 전혀 새로운 페이지로 새로운 본문 내용을로드하지 않는 것이 좋습니다. 왜 AJAX를 사용합니까? document.location.href를 설정하고 앵커 태그를 사용하여 원하는 것을 수행 할 목적이 아닌가? – coderjoe