2012-12-27 3 views
2

자바 스크립트를 사용하여 스냅 기능이 작동하는지 여부를 어떻게 확인할 수 있습니까?자바 스크립트를 통한 스냅 체크

var SNAPPED_VIEW = 320; 

window.addEventListener("resize", onViewStateChanged); 

function onViewStateChanged(eventArgs) { 
    var viewStates = Windows.UI.ViewManagement.ApplicationViewState, msg; 
    var newViewState = Windows.UI.ViewManagement.ApplicationView.value; 
    if (newViewState === viewStates.snapped) { 
     var msg = new Windows.UI.Popups.MessageDialog("snap view mode"); 
    } else if (newViewState === viewStates.filled) { 
     showMenu('filled'); 
    } else if (newViewState === viewStates.fullScreenLandscape) { 
     showMenu('landscape'); 
    } else if (newViewState === viewStates.fullScreenPortrait) { 
     //Currently not supported 
    } 
} 

이 코드를 사용하여 내가하려고하는 것이지만 중단 점을 사용할 때 정의되지 않은 것으로 표시됩니다.

+1

무엇을 구체적으로 정의되지 않는다? 대화 상자는 표시하지 않기 때문에 아무 것도하지 않지만 실제로 가지고있는 코드는 default.js에 놓아두면 제대로 작동하는 것 같습니다. –

답변

1

나는 최근에 해결책을 찾았다. 그것은 윈도우 8 애플 리케이션이 아니므로 Windows.UI을 필요로하지 않습니다. @viewport 선언과 결합

http://menacingcloud.com/?c=targetSnapMode

, 그것은 효과적인 콤보 있도록합니다.

@-ms-viewport { width: device-width; } @viewport { width: device-width; } 

@viewport 선언은 짐이 코드가 완벽하게 잘 작동하지만 당신이 대화 상자를 표시하지 않을 말했다 것처럼 http://menacingcloud.com/?c=cssViewportOrMetaTag

0

에서 논의된다. 난 그냥 다른보기에 대한 텍스트 상자와 지정된 값을 추가하고 완벽하게 잘 작동 :

var SNAPPED_VIEW = 320; 

window.addEventListener("resize", onViewStateChanged); 

function onViewStateChanged(eventArgs) { 
    var viewStates = Windows.UI.ViewManagement.ApplicationViewState, msg; 
    var newViewState = Windows.UI.ViewManagement.ApplicationView.value; 
    if (newViewState === viewStates.snapped) { 
    document.getElementById("screenMode").innerText = "s"; 
    } else if (newViewState === viewStates.filled) { 
    document.getElementById("screenMode").innerText = "f"; 
    } else if (newViewState === viewStates.fullScreenLandscape) { 
    document.getElementById("screenMode").innerText = "l" 
    } else if (newViewState === viewStates.fullScreenPortrait) { 
    //Currently not supported 
    } 
} 

HTML :

<input type="text" id="screenMode"/> 
관련 문제