通过javascript进行快照视图检查
如何使用JavaScript检查snapview是否正常工作通过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 =
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中就可以正常工作。