2012-05-10 2 views
0

모바일 장치를 사용하지 않고 Safari를 사용하여 개발하는 동안 jQuery Mobile 응용 프로그램을 테스트 할 수 있다는 인상을받습니다.이 jQuery Mobile 양식이 AJAX가 올바르지 않은 이유는 무엇입니까?

때 나는 Windows의 사파리,

  • 변화 사파리 아이폰 OS 4.3.3로 사용자 에이전트

    AJAX가 아닙니다. 대신 새 URL을로드합니다.

    http://jquerymobile.com/test/docs/forms/forms-sample-response.php?shipping=Standard+shipping&submit=submit-value 
    

    내가 잘못했거나 jQuery Mobile에 문제가 있습니까?

  • 답변

    1

    아무 문제가 없다고 생각합니다. jQuery Mobile에 속아 넘어간 것 같습니다.

    전체 페이지 새로 고침이 발생하는 것처럼 보이지만 그렇지 않습니다. 개발자 도구에서 Network 탭을 보면 PHP 페이지에 대한 XHR 요청을 볼 수 있습니다.

    그리고 JQuery와 모바일은 그것으로 주소 표시 줄에 URL을 pushState의 플러그인의 변화 : 그래, 당신은 개발을위한 데스크톱 브라우저를 사용하지만 테스트로 이동할 때 문제를 준비 할 수 있습니다 http://jquerymobile.com/test/docs/pages/page-navmodel.html

    일반적인 의미에서 장치에. 때로는 어떤 것도 얻을 수 없지만 현재 모바일 브라우저에는 다소 불만스러운 버그가 있습니다.

    +0

    아, 고마워! 내가 문서에서 그것을 어떻게 놓쳤는 지 잘 모르겠다. 내 경우에는 AJAXing 페이지에 전체 레이아웃이 아닌 페이지 내용 만 포함되어 있기 때문에'pushState'를 비활성화하려고합니다 (다운로드되는 내용을 최소화하기 위해). 그렇지 않으면 사용자가 pushState URL을 사용하여 페이지를 새로 고침 할 때 레이아웃, CSS 등을 볼 수 없습니다. AJAX 요청인지 여부를 감지하고 그에 따라 레이아웃을 렌더링 할 수 있다고 생각합니다. 이 점에서 일반적인 패턴? – RedFilter

    +0

    pushState 플러그인을 사용 중지하면 /index.html#/some-folder/index.html과 같은 해시 태그 URL이 표시됩니다. 그러나 이것이 일반 색인 페이지를로드하고 나서 jQuery Mobile이 해시 태그를 탐지하고 그 위치에서 AJAX를 통해 콘텐츠를 가져올 것이기 때문에 당신을 위해 작동해야합니다. – Jasper

    관련 문제