在不禁用Javascript的情况下禁用WebView中的HTML5

时间:2011-04-28 18:44:48

标签: javascript android html5 webview android-webview

出于诊断目的,我需要能够在Android的WebView中禁用HTML5,禁用禁用Javascript(即保留WebSettings.setJavaScriptEnabled(true);

进一步澄清:我喜欢在没有安装任何Flash插件的情况下播放YouTube视频的能力。它甚至适用于setPluginsEnabled(false)。由于WebView的HTML5内置支持,我可以做到这一点。现在,要测试某个功能,我需要使用YouTube视频触发DownloadListener.onDownloadStart(),而无需禁用Javascript。

这可能吗?

更新:自从我发布此问题后,我发现至少DOM storage can be disabled。我还没有找到禁用HTML5视频的方法。

2 个答案:

答案 0 :(得分:2)

我知道这是一个非常古老的问题......不过,您可能想要查看this answer的想法。 WebSettings类具有启用/禁用HTML5功能的这些方法:

  1. setDomStorageEnabled(布尔标志) - 设置是否启用DOM存储API。
  2. setDatabaseEnabled(boolean flag) - 设置是否启用数据库存储API。
  3. setDatabasePath(String databasePath) - 设置应保存数据库存储API数据库的路径。
  4. setAppCacheMaxSize(长appCacheMaxSize) - 注意:API 18中已弃用。
  5. setAppCachePath(String appCachePath) - 设置应用程序缓存文件的路径。
  6. setAppCacheEnabled(boolean flag) - 设置是否应启用Application Caches API。

答案 1 :(得分:1)

我不确定这个问题有多大意义。您无法在支持HTML5功能的浏览器中“禁用”HTML5功能。您可能做的最好的事情是在网页上设置非HTML5文档类型,但即使这样,大多数渲染引擎(包括webkit)仍然会乐意支持这些功能(<video>标记,<canvas>等)他们实施的。

听起来你真正要做的就是测试特定设备上的流媒体视频会发生什么(使用不支持<video>的较旧版本的webkit)。是对的吗?在这种情况下,我不知道任何版本的Webkit,它曾经与Android一起发布,但不支持<video>,但我可能错了。