我使用Cordova编写了我的iOS SPA,它遵循以下机制
$$.ajax({
type: 'GET',
url: 'example.html',
dataType: 'text',
cache : true,
async: true,
success: function (response) {
// Attach some handlers to elements.
// There are bunch of closures here
},
error: function (xhr, type) {
// Load previous page
}
});
在全球范围内,我正在添加如下的委托事件处理程序
$(document).on('tap', '.element', function(){
// Do some actions
});
第一次启动应用时,它运行顺畅,但当应用从后台模式返回到前台时,我可以看到以下问题
-webkit-overflow-scrolling : touch
这些问题的原因是什么,我知道有很多事情会导致问题,但是无法弄明白。请帮帮我。
答案 0 :(得分:2)
不确定这是否适用于您,但我的Cordova应用程序遇到了类似的问题。这是一个使用requestAnimationFrame
进行更新的游戏。我在HTML5游戏开发留言板上找到this thread,它建议在Cordova应用程序转到后台时停止任何更新循环,然后在应用程序返回到前台时恢复更新循环。
他们的代码示例(当然,根据您的框架进行更改):
document.addEventListener("pause", function() {
game.paused = true;
game.raf.stop();
}, false);
document.addEventListener("resume", function() {
game.paused = false;
game.raf.start();
}, false);
修复工作:不再减速。 YMMV。