2012-10-31 4 views
1

웹 페이지의 주소 표시 줄을 숨기려고합니다. 아이폰 4 이하에서 사용하면 작동합니다.주소 숨기기 ios 6의 사파리 막대기

window.scrollTo (0,1);

및 메타 태그 . 그러나 IOS 6의 경우에는 이것이 작동하지 않는 것 같습니다. stackoverflow 다른 비슷한 질문을 확인했지만 작동하는 솔루션을 찾을 수 없습니다. 비슷한 문제가있는 사람이 있습니까? 그렇다면 웹 앱으로 홈 화면에 사이트를 추가 한 다음 거기에서 시작하는 것 이외의 해결책이 있습니까?

감사합니다.

답변

1

스크립트를 사용하여 놀고 난 후에 다음과 같은 것을 발견했습니다. 페이지를 새로 고침 할 때마다 검색 주소창이 표시되지 않습니다. 이 문제를 해결하기 위해 resize 함수를 통해 reload 이벤트를 트리거하고 resize 함수에서 window.scroll (0,1)을 수행합니다.

는 내가 처음에만 onLoad 이벤트에이 함수를 호출 한

var hideAddressBar = function() { 
    if(document.documentElement.scrollHeight<window.outerHeight/window.devicePixelRatio) 
    document.documentElement.style.height=(window.outerHeight/window.devicePixelRatio)+'px'; 
    setTimeout(function() { 
     window.scrollTo(1,1) 
    }, 0); 

    if(navigator.userAgent.match(/Android|iPhone/gi)){ 
     window.scrollTo(0,1); 
    } 
} 

기능을 가지고있다. Tis는 ios5에서는 작동하지만 ios6에서는 작동하지 않습니다. 스크립트에서 페이지를 렌더링 한 후 resize 함수가 호출된다는 것을 알았습니다. 그래서 resize의 끝에 hideaddressbar 함수를 호출했습니다. 따라서 페이지를 렌더링 한 후 다시 크기를 조정하거나 다시로드하는 경우 스크립트를 체크인 할 수 있습니다. 그렇다면, 재로드가 완료된 후 hideAddressBar를 호출하십시오. 나는 이것이 당신의 문제를 해결하기를 바랍니다.

+1

'setTimeout (window.scrollTo (1,1), 0)'은 즉시'scrollTo'를 호출하고 정의되지 않은 함수를 스케쥴합니다. – jcayzac