Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过javascript进行快照视图检查_Javascript_Windows 8 - Fatal编程技术网

通过javascript进行快照视图检查

通过javascript进行快照视图检查,javascript,windows-8,Javascript,Windows 8,如何使用JavaScript检查snapview是否正常工作 var SNAPPED_VIEW = 320; window.addEventListener("resize", onViewStateChanged); function onViewStateChanged(eventArgs) { var viewStates = Windows.UI.ViewManagement.ApplicationViewState, msg; var newViewState =

如何使用JavaScript检查snapview是否正常工作

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
    }
}

我正在尝试使用这段代码,但在使用断点时它显示为未定义

我最近想出了一个解决办法。它不是特定于Windows 8应用程序的,因此不需要
Windows.UI

当与
@viewport
声明结合使用时,它会形成一个有效的组合

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

上面的
@viewport
声明在

中讨论,正如Jim所说,您的代码工作得非常好,但您没有显示对话框。我刚刚添加了一个文本框,并为不同的视图指定了值,效果非常好:

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"/>

什么是未定义的?您的对话框不会真正执行任何操作,因为您没有显示它,但是您的代码似乎只需将其放到default.js中就可以正常工作。