Проблема WKWebView webSQL openDatabase

До сих пор мы обновили UIWebView до WKWebView, большинство функций довольно хороши, но когда мы пытаемся создать базу данных с API html5 openDatabase, мы сталкиваемся с «Ошибкой безопасности», а сейчас мы хотим использовать indexedDB вместо webSQL.

Могли бы вы столкнуться с той же «ошибкой безопасности» с openDatabase, как ее исправить?

Спасибо


person hugh    schedule 21.01.2015    source источник
comment
Возможный дубликат WKWebView выдает SecurityError при связывании html и javascript с приложение   -  person Connor    schedule 27.07.2016


Ответы (3)


WebSQL устарел, WKWebView его не поддерживает. Я предлагаю использовать IndexedDB.

person soflare    schedule 28.04.2015

Solflare верен, WKWebView не поддерживает WebSQL, однако реализация IndexedDb от Apple очень и очень плохая. См. этот поток Проблема с первичным ключом в реализации iOS8 IndexedDb

person Jonathan Smith    schedule 28.04.2015

Я сделал «плагин», который позволяет вам использовать WebSQL (точнее, его реализацию) в WKWebView. Он может быть найден здесь

https://github.com/ajwhiteway/WKWebSQL

import WKWebSQL
.
.
.
var webView = WKWebView(frame: view.frame, configuration: WKWebViewConfiguration())
WKWebSQL.LoadPlugin(webView)

Чтобы загрузить его на страницу. В настоящее время управление версиями не поддерживается. Не стесняйтесь добавлять его. Это не устраняет проблему с локальным хранилищем, это просто реализация WebSQL, использующая SQLite и WKWebView.

Рекомендую только на iOS 9+. В iOS 8 оценка javascript создает новые контексты, которые должны быть удалены сборщиком мусора и задушат ваше приложение для памяти.

person Ajwhiteway    schedule 17.12.2015
comment
Что вы имеете в виду под не решает проблему с локальным хранилищем? Он по-прежнему ограничен 50 МБ? Спасибо! - person Georg; 03.06.2018