带有'touchstart'的phonegap应用仍然很慢

时间:2013-09-22 22:14:38

标签: android html cordova

我在html5中制作应用并将其转换为带有phonegap的apk。

现在你只需要交替按下左div和右div。 当你这样做时,你的分数会越来越高。

问题是,当我非常快地按它们时,分数不会改变。它只会变化到一定速度非常慢。

leftt =左div,右边是右div 代码:

// JavaScript Document
window.onload = function ()
{
var left= 0;
var right= 1;
var score =0;
var el = document.getElementById("leftt");
var el2 = document.getElementById("rightt");





el.addEventListener("touchstart", function(e) {
    if(right ==1)
    {
    left=1;
    right=0;
    score++;
    document.getElementById("score").innerHTML= score;
}
});


el2.addEventListener("touchstart", function(e) {
        if(left ==1)
    {
        left=0;
        right=1;
            score++;
        document.getElementById("score").innerHTML= score;
    }
});

}

2 个答案:

答案 0 :(得分:1)

您应该在视口中添加'user-scalable = no'参数。

这将消除某些浏览器将添加到您的网络应用程序的300毫秒延迟,以便考虑双击(如果检测到这种情况,快速单击库实际上会自动关闭 - https://github.com/ftlabs/fastclick)。

HTML5Rocks上有关此主题的更多内容 - http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away

虽然本文适用于Android版Chrome,但用户可扩展=没有技巧已经在Chrome中使用了一段时间,并且位于KitKat的Android WebView中。

答案 1 :(得分:0)

Android版本4.0.4+存在一个错误。尝试使用应用程序java文件中的以下代码行关闭webview的硬件加速:

super.appView.setLayerType(WebView.LAYER_TYPE_SOFTWARE,null);

这可能会在4.4之后修复(KitKat使用Chromeview而不是webview)。