欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android websql 报错的问题 dom exception 18  

程序员文章站 2022-04-08 23:21:26
...

       我是复制了他的博客:http://blog.sina.com.cn/s/blog_c318af0b0102v8oa.html

      如题,这个问题困扰了我一段时间。当时真的不知道哪里有问题,一直以为是跟ajax跨域差不多的问题,然后就一直在找js的问题,开始以dom exception 18为关键字百度,但是我看了很多网上的文章基本上都是说什么1、把页面放到服务器上;2、数据库设置大小问题;可是我的页面本来就在服务器上,而且大小也没有超过官方给的5*1024*1024。后来我试着用系统自带的浏览器去打开含有web sql database的网页结果完全没问题。当时我就把问题的矛头指向了android webveiw的配置。可是我百度了很多文章设置基本上都千篇一律,而且我也设置了如下几项:

    WebSettings settings = webView.getSettings();
    settings.setDatabaseEnabled(true);   
   String dbPath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
   settings.setDatabasePath(dbPath);

 

我看了一下webSettings里边除了这几项没有其他关于database的设置。但是一直还是不行,最后发现webview当中少了一些配置。

webView.setWebChromeClient(new WebChromeClient(){
   @Override
   public void onExceededDatabaseQuota(String url,String databaseIdentifier, long quota,long estimatedDatabaseSize, long totalQuota,QuotaUpdater quotaUpdater) {
        // TODO Auto-generated method stub
      quotaUpdater.updateQuota(5*1024*1024);
    }

 
好吧,就是少了个上边这个配置,所以web sql database 一直报dom exception 18。经过这次的问题我发现搜索问题的关键词真的很重要,如果关键词到位的话就能很快解决问题。