是否可以检测屏幕旋转?我正在使用Mac上的触摸屏驱动程序,所以我想知道屏幕是否旋转。
答案 0 :(得分:0)
MacBooks(和Thinkpad)有一个加速度计,用于检测突然运动(即被丢弃)以防止HD头部崩溃。加速度计数据通过webkit API公开。
加速度计数据的原生API仅通过私有的Apple接口公开,但Amit Singh发布了他的突发运动传感器API here的文档。
请注意,他已经发布了一个免费程序,可以执行您正在尝试执行的操作,称为SMSRotateD。当您翻转设备时,它将旋转MacBook屏幕。还有一个很酷的样本,有一个“陀螺”窗口,当你随机倾斜你的设备时它会保持充值。
答案 1 :(得分:0)
希望此HTML有用(下面和正在使用的版本http://jsfiddle.net/b7Efq/)
另外,您可以查看SeisMac。他们还提供了一个工作库
<html>
<head>
<style>
.angle { height: 100px; }
#alpha { background-color: red; }
#beta { background-color: green; }
#gamma { background-color: blue; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var set_bar = function( id, value ) {
var max_width = $(window).width();
$( id ).width( value * max_width );
}
var normalize_angle = function( deg ) {
var x = ( (deg + 180) / 360 ) % 1.0;
return (x < 0) ? (x + 1.0) : x;
}
window.addEventListener("deviceorientation", function(event) {
set_bar( "#alpha", normalize_angle(event.alpha));
set_bar( "#beta", normalize_angle(event.beta + 180));
set_bar( "#gamma", normalize_angle(event.gamma));
}, true);
</script>
</head>
<body>
<div class="angle" id="alpha"> </div>
<div class="angle" id="beta"> </div>
<div class="angle" id="gamma"> </div>
</body>
</html>