2011-02-18 5 views
2

동일한 방문 페이지에서 모바일에 최적화 된 여러 애플리케이션에 액세스하고 있습니다. 기본적으로 대시 보드 패턴. 내 홈 화면에 가지고 있기 때문에 툴바가 많은 모바일 사파리가 아닌 전체 화면 모드로 앱을 사용할 수 있습니다. 그러나 링크를 클릭하면 사파리로 전체 화면 모드가 해제됩니다. 원하지 않는 부분입니다.iOS에서 링크 사용 전체 화면 웹 앱

다른 페이지로 이동하는 동안 전체 화면 모드를 유지하는 방법이 있습니까 (예 : 앵커의 target 속성 사용)? 아니면 모든 것을 에 넣어야합니까?

답변

5

일부 자바 스크립트를 사용하여 onclick 이벤트를 차단해야합니다. 예를 들어, 다음 iWebKit<a> 태그에 적용되는 noeffect CSS 클래스와 수행 내용은 다음과 같습니다 onclick 모바일 사파리에서 발생할 때마다

window.onload = function() { 
    function fullscreen() { 
     var a = document.getElementsByTagName("a"); 
     for (var i = 0; i < a.length;i++) { 
      if (a[i].className.match("noeffect")) { 
       // Does nothing 
      } 
      else { 
       a[i].onclick = function() { 
        window.location = this.getAttribute("href"); 
        return false; 
       }; 
      } 
     } 
    } 
}; 
+0

그래, 나는 이것을 잠깐 생각났습니다. 하지만 대답 주셔서 감사합니다! 저기에 가지고 있으면 좋네. 프레임, 형식 및 이벤트에 대한 실험을 더 많이 했으므로 여기에도 결과를 넣어야합니다. – theazureshadow

3

는 사파리가 전체 화면 모드에서 그것을 취할 것입니다. 양식 제출은 POST 또는 GET이든 전체 화면 모드로 유지됩니다. window.location이 자바 스크립트를 통해 설정된 경우에는 전체 화면 모드로 유지됩니다.

각 앵커에서 이벤트 처리기를 설정하는 위임을 선호합니다. 여기에 jQuery 예제가 있습니다 :

+0

+1 위임은 모든 앵커를 반복하고 각 앵커에 이벤트 리스너를 수동으로 추가하는 것보다 훨씬 효율적이고 깨끗하며 재사용이 가능합니다. –

관련 문제