База данных HTML5 / js sqlite не входит в функцию транзакции - PullRequest
1 голос
/ 27 октября 2011

У меня есть следующая функция javascript:

function initDatabase() {

    if (!window.openDatabase) {
        alert('Databases not supported in this browser');
    } else {
        var shortName = 'TestDB';
        var version = '1.0';
        var displayName = 'HTML5 Test Database';
        var maxSize = 1024 * 1024;
        db = openDatabase(shortName, version, displayName, maxSize);
        alert('opened db ' + db); //this says its a database

        db.transaction(function (tx) {
            alert('before create'); //never gets here
            tx.executeSql('CREATE TABLE IF NOT EXISTS Person(FirstName TEXT, MiddleName TEXT, LastName TEXT);');
            alert('after create');
        });

        alert('after transaction'); //does get here
    }
}

, вызываемый для готового документа:

 $(document).ready(function () {
        initDatabase();
    });

Как видно из комментариев, база данных создается / открывается(хотя я не уверен, как это проверить), но когда я пытаюсь создать транзакцию и выполнить какой-то sql, кажется, что эта функция никогда не вводится.

Я что-то не так делаю?Как я могу проверить, что база данных вообще существует?

Я использую Chrome 14 для тестирования.

Спасибо

1 Ответ

2 голосов
/ 27 октября 2011

Предупреждение, похоже, предостережение.Это может привести к приостановке работы, из-за которой он не работает.

alert в любом случае «заменяется» на console.log (с точки зрения отладки), и, если я заменяю предупреждения журналами, кажется, все работаетЯ получаю все четыре журнала).

(Чтобы просмотреть эти console.log звонки, вы можете нажать F12 и нажать Консоль.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...