"启用DOM存储API"是什么意思?

uTu*_*Fan 25 html5 android dom webview

我遇到了这个Android WebView功能WebSettings.setDomStorageEnabled(true),仅凭名称我可以推断它只是"启用DOM存储".

但是,Android文档提示了一些略有不同的内容:

设置是否启用DOM存储API.

IOW,它启用API而不是存储本身.

我的问题是......在遇到这个函数之前,我不知道是否存在这样的API.

我的Google搜索表明此API与HTML5密切相关.

  1. 这是否意味着此功能与不使用HTML5的网站/页面无关?IOW,它是否会影响现有的非HTML5页面加载和渲染?
  2. 我在哪里可以了解有关DOM存储API的更多信息?
  3. 特别是,WebSettings.setDomStorageEnabled(true) 在使用Android应用程序时,我需要注意哪些问题或警告 ?
  4. 为什么默认禁用?

更新:我现在至少可以回答问题#2:事实证明"DOM存储"的通用名称是"Web存储",并且有一篇关于此的整篇维基百科文章:http://en.wikipedia.org/wiki/Web_Storage

Jus*_*rce 13

我相信这个功能与不使用HTML 5规范的网站无关,因为它是该规范的一部分.我想在启用此API时要注意的主要事情是,它允许任何利用DOM存储的网站在设备上使用所述存储选项.我认为默认情况下它会被空间节省和安全性禁用.


siv*_*ivi 5

  1. 不可以。您还必须使用它来启用 JS 功能的某些特性。

  2. devloper.android 链接:
    http://developer.android.com/reference/android/webkit/WebSettings.html#setDomStorageEnabled%28boolean%29/

    MDN 关于 DOM 存储的解释: https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

  3. 您需要知道可能会发生安全攻击(如果您将其与js一起使用)。

  4. 它打开了系统的一些安全漏洞。

  • 因混淆 Javascript 漏洞与在 Android WebView 中启用 DOM 存储 API 而被否决。 (6认同)
  • 您能否详细说明“某些安全漏洞”的说法? (2认同)
  • 您指出的所有参考文献都讨论了由于 javascript 而不是由于启用 Dom Storage 而导致的漏洞。 (2认同)