如何在iOS上使用Phonegap正确检测方向变化?

我在下面找到此定向测试代码,以查找JQTouch参考资料。这可以在移动Safari上的iOS模拟器中正常运行,但在Phonegap中无法正确处理。我的项目遇到了与杀死该测试页相同的问题。有没有办法在Phonegap中使用JavaScript来感知方向变化?

window.onorientationchange = function() {

/*window.orientation returns a value that indicates whether iPhone is in portrait mode, landscape mode with the screen turned to the

left, or landscape mode with the screen turned to the right. */

var orientation = window.orientation;

switch (orientation) {

case 0:

/* If in portrait mode, sets the body's class attribute to portrait. Consequently, all style definitions matching the body[class="portrait"] declaration

in the iPhoneOrientation.css file will be selected and used to style "Handling iPhone or iPod touch Orientation Events". */

document.body.setAttribute("class", "portrait");

/* Add a descriptive message on "Handling iPhone or iPod touch Orientation Events" */

document.getElementById("currentOrientation").innerHTML = "Now in portrait orientation (Home button on the bottom).";

break;

case 90:

/* If in landscape mode with the screen turned to the left, sets the body's class attribute to landscapeLeft. In this case, all style definitions matching the

body[class="landscapeLeft"] declaration in the iPhoneOrientation.css file will be selected and used to style "Handling iPhone or iPod touch Orientation Events". */

document.body.setAttribute("class", "landscape");

document.getElementById("currentOrientation").innerHTML = "Now in landscape orientation and turned to the left (Home button to the right).";

break;

case -90:

/* If in landscape mode with the screen turned to the right, sets the body's class attribute to landscapeRight. Here, all style definitions matching the

body[class="landscapeRight"] declaration in the iPhoneOrientation.css file will be selected and used to style "Handling iPhone or iPod touch Orientation Events". */

document.body.setAttribute("class", "landscape");

document.getElementById("currentOrientation").innerHTML = "Now in landscape orientation and turned to the right (Home button to the left).";

break;

}

}

回答:

这是我的工作:

function doOnOrientationChange() {

switch(window.orientation) {

case -90: case 90:

alert('landscape');

break;

default:

alert('portrait');

break;

}

}

window.addEventListener('orientationchange', doOnOrientationChange);

// Initial execution if needed

doOnOrientationChange();


window.orientation已弃用,大多数浏览器均不支持。该事件与window.orientation相关联,因此可能不应该使用。orientationchange

以上是 如何在iOS上使用Phonegap正确检测方向变化? 的全部内容, 来源链接: utcz.com/qa/401497.html

回到顶部