baidu touch.js在某些机子(Motorola XT531)上旋转不动

说起来是上上上篇博客遗留的问题了:http://blog.csdn.net/yeshennet/article/details/50531007

测试的妹子发现这个机子完全不能转动,然后被提BUG了-_-

进过上次读了一轮源代码,已经基本上清楚是这个库的结构了,在机器上打log出屏幕,发现在

var rotation = this.getAngleDiff(move);

这个地方代码还是能工作,Touch事件也有,旋转的角度也能算出来,应该是没转起来,追代码看到有把事件穿给底层

    trigger: function(el, evt, detail) {

        detail = detail || {};
        var e, opt = {
                bubbles: true,
                cancelable: true,
                detail: detail
            };
        try {
            if (typeof CustomEvent !== 'undefined') {
                e = new CustomEvent(evt, opt);
                if (el) {
                    el.dispatchEvent(e);
                }
            } else {
                e = document.createEvent("CustomEvent");
                e.initCustomEvent(evt, true, true, detail);
                if (el) {
                    el.dispatchEvent(e);
                }
            }
        } catch (ex) {
            console.warn("Touch.js is not supported by environment.");
        }
    },
注意到这里有个try....catch,捕获一下错误,是Not_supported_ERR code 9
自己手动用transform:rotate(-45deg);-webkit-transform:rotate(-45deg)也没转起来。


确定是底层浏览器Motorola XT531 (android 2.3)不支持


然后BUG就关闭了。



你可能感兴趣的:(html5)