Web SQL SECURITY_ERR: исключение DOM 18 только на Android

Эта ошибка больше нигде не встречается. Я даже могу без проблем открыть базу данных версий (а затем еще одну воображаемую тестовую базу данных). Но как только я открываю основную базу данных, я получаю сообщение об ошибке.

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

var myDB =openDatabase("Todo", "1.0", "Todo manager", dbSize); // gives SECURITY_ERR: DOM exception 18 on Android only 

Я думаю, что проблема связана с одним из следующих: 1. Я использую неправильную версию в первый раз, и Android всегда дает сбой, если вы пропустите его в первый раз. 2. хотя я очищаю историю и кеш в настройках (единственное место, где я могу что-либо очистить), на самом деле это не удаляет базу данных. 3. может действительно есть какая-то ошибка безопасности?!

Вот и все. У меня нет для тебя кода. Мой код представляет собой js-файл из 3000 строк, который превращает мешанину неподдерживаемых разнородных автономных баз данных в единое целое. Я просто ищу некоторые общие идеи о том, что может пойти не так.


person dolphone bubleine    schedule 14.08.2012    source источник


Ответы (1)


Я использую оболочку webSql под названием lawnchair на наших таблицах Android, и когда мы обновили наш планшет с Android 3 до Android 4, наше приложение перестало работать на Android 4 с той же ошибкой, которую вы описываете, и в той же строке (открытие базы данных). Однако на нашем планшете Android 3 он все еще работал, как и ожидалось.

Решение, которое я обнаружил, действительно глупо, но после выключения нашего недавно обновленного планшета и его перезапуска websql снова заработал.

person Guldan    schedule 31.08.2012