我正在努力改变Phonegap中的方向。我的计划是在方向改变时改变CSS文件(也许这是一种令人费解的方式),但我正在努力让任何依赖于orietation的事件发生。我目前正在使用代码:
window.onorientationchange = function() {
navigator.notification.alert(
'orientation change!', // message
'Portrait', // title
'buttton'); // buttonName
if (window.matchMedia("(orientation: portrait)").matches){
navigator.notification.alert(
'now in portrait', // message
'Portrait', // title
'buttton'); // buttonName
}
else{
alert("landscape")
}
}
第一个警报(无论何时方向改变)都没有问题,但第二个警报(当它特意改变为风景时)没有发生。我在Android版本2.3.5上。 (这种方法是由Razvan在this问题上提出的)
答案 0 :(得分:0)
您需要在MediaQueryList对象上设置侦听器。例如,见下文。
除了媒体查询之外,还有其他方法可以检索设备方向更改。搜索“mdn orientationchange”以获取示例。
听取发生的任何变化
var orientation = window.matchMedia("(orientation: portrait)"),
orientationListener = function(mql) {
if (mql.matches) {
// Media query does match orientation portrait
} else {
// Media query does not match which should mean orientation is now landscape
}
};
// Gets initial match
orientationListener(orientation);
// Listens for change
orientation.addListener(orientationListener);