Я пытаюсь закодировать метод 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, потому что сообщение "testing" никогда не появляется, но я не получаю никакой ошибки.
Сначала я подумал, что это проблема размещения $ wnd, даже пытался сделать $ wnd.db.transaction, но ничего не получалось. Кажется, что openDatabase работает, по крайней мере, БД отображается как объект базы данных. Что я делаю не так?