我试图编写一个JSNI方法来将内容插入到HTML5数据库中,因为显然没有适用于最新版本的GWT插件。我有这个非常简单的代码,它在GWT之外完美运行:
public static native void database() /*-{
var db;
db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
var msg;
db.transaction(function (tx) {
$wnd.alert("testing");
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (7, "foobar")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (8, "logmsg")');
$wnd.alert("inserted");
});
}-*/;
似乎GWT没有输入db.transaction位,因为"测试"消息永远不会出现,但我没有收到任何错误。
我起初认为这是一个$ wnd贴片问题,甚至尝试过$ wnd.db.transaction,但没有任何效果。 openDatabase似乎正在工作,至少db显示为数据库对象。我做错了什么?
答案 0 :(得分:0)
不是你所期待的答案我害怕,但作为gwt-mobile-webkit项目的一部分,GWT中的WebSQL包装器可以使用很长时间:http://code.google.com/p/gwt-mobile-webkit/(在他们的名字中称为“数据库API”)文档)