微信公众号开发中的坑(四)

HTML5中使用摇一摇功能代码(来自网络,亲测有效)

        if (window.DeviceMotionEvent) {
            var speed = 25;
            var x = t = z = lastX = lastY = lastZ = 0;
            window.addEventListener('devicemotion',
            function () {
                var acceleration = event.accelerationIncludingGravity;
                x = acceleration.x;
                y = acceleration.y;

                if (Math.abs(x - lastX) > speed || Math.abs(y - lastY) > speed) {
                    //此处摇一摇时的业务逻辑代码
                };
                lastX = x;
                lastY = y;
            }, false);
        }
        else {
            alert('not support mobile event');
        }

但是,此处有一个坑,如果页面需要引入jQuery时,并且,jQuery的引入声明在此段代码之前,那么在微信浏览器中,window.addEventListener会失效,但是也不会报错。仅仅是失效。不引入jQuery或者将jQuery的引入声明放在此段代码之后,则没有问题。
此问题目前仅在微信浏览器中发现。在其他浏览器中均正常。

你可能感兴趣的:(微信公众号开发,微信,html5)