小编Kar*_*ndo的帖子

Android 4.0.1打破了WebView HTML 5本地存储?

我有一个简单的html5测试页面,它使用LocalStorage来显示/保存/重新显示一段数据.

此代码在Android 2.3.x中完美运行,但在html的第18行的4.0.1中记录了一个异常,这是第一次localStorage.getItem()调用,此时JS停止了.

例外:Uncaught Error: SECURITY_ERR: DOM Exception 18 at /data/data/my.app.name/app_htmlData:18 我也尝试getCacheDir()使用相同的结果设置数据库路径.

String htmlContent = "HTML content listed below";    
File sharedDir = getActivity().getDir("htmlData", Context.MODE_PRIVATE);
WebView browser = (WebView)v.findViewById(R.id.wvBrowser);

browser.setWebChromeClient(new WebChromeClient(){
    public void onExceededDatabaseQuota(String url, String databaseIdentifier, long  currentQuota, long estimatedSize,   long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) { 
            quotaUpdater.updateQuota(estimatedSize * 2); 
        }
    });       
browser.setWebViewClient(new WebViewClient(){
    @Override
    public void onPageFinished(WebView view, String url){

        view.loadUrl("javascript:doTest()");

    });

browser.getSettings().setDatabaseEnabled(true);
browser.getSettings().setDatabasePath(sharedDir.getPath());
browser.getSettings().setDomStorageEnabled(true);
browser.loadDataWithBaseURL(mSharedDir.getPath(), 
            htmlContent, 
            "text/html", 
            "utf-8", 
            null);
Run Code Online (Sandbox Code Playgroud)

页面呈现的HTML如下:

<!DOCTYPE html PUBLIC …
Run Code Online (Sandbox Code Playgroud)

html5 android webview local-storage jquery-mobile

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

html5 ×1

jquery-mobile ×1

local-storage ×1

webview ×1