我使用了本讨论中提到的“Chrules”给出的解决方案:buttons with no href, onclick etc
像这样:<button id="clickable" >Click Me!!</button>
......
$("#clickable").click(function(){
// Send user to this link
insertRecord(); //SQLite Code
location.href = "game.html";
// location.href = "http://www.takemehere.com"; });
所以当我使用location.href时就像他推了它一样(=“http://www.takemehere.com”;)insertRecord()方法成功完成(对象被添加到数据库中)
但是当我使用location.href =“game.html”时; game.html页面打开但是insertRecord()方法没有完成我试图把game.html的完整路径,但同样的问题仍然存在你有什么想法吗?提前谢谢你
答案 0 :(得分:2)
我认为insertMethod()
会调用一些异步函数来进行数据库更新。所以你应该在做其他任何事情之前使用回调。
像这样(我不知道insertRecord方法里面是什么);
function insertRecord(callback) {
// do all sorts of database job
// when it's finished
// fire your callback
callback();
}
insertRecord(function() {
location.href = "page.html";
});
编辑:发表评论后,我发现你已经定义了一个在loadAndReset()
的sql之后运行的函数。所以只需将location.href = "page.html"
放在该函数中,它就可以工作。