[关闭]
@xiaoyixy 2015-11-09T12:11:30.000000Z 字数 996 阅读 1367

Hybrid 下的多项权限设置(一)

Hybrid


Ⅰ 用 WebSettings 配置 WebView 设置
    Android 的 WebView 提供了一个很好理解的配置接口——WebSettings, 他可以用于在运行时定义 WebView 的行为。然而, WebSettings 对象只有在一个 WebView 的生命周期中才有效。换句话说,在 WebView 被销毁之后,当你想试着调用来自 WebView.getSettings() 对象的任何方法时,将会抛出 IllegalStateException 的异常提示。
可以通过 WebView.getSettings() API 来恢复 WebSettings 方法:

    WebView WebView = new WebView(this);
    WebSettings settings = WebView.getSettings();

Ⅱ 防止本地文件被 WebView 加载
    setAllowFileAccess() API 让开发者可控制 WebVIew 访问本地文件的权限,它是几个能在运行期间配置的 WebView 设置之一。默认情况下这个设置的值为 true ,考虑到安全性因素,如果 app 中不需访问到文件系统,最好是将其关闭:

    settings.setAllowFileAccess(false);

Ⅲ 允许加载 JavaScript
    考虑安全性因素,在默认情况下, JavaScript 在 WebView 中是禁用的。可通过 setJavaScriptEnabled() 方法来启用或禁用 JavaScript:

    settings.setJavaScriptEnabled(true);

注意:
    建议在混合应用的 assets 文件夹放置需要的所有 JavaScript 库。如果在应用中使用第三方的 JavaScript 库,最终的结果将是会有大量 bugs 和安全性隐患。
    启用一些无用的 WeView 设置可能产生一些无法预料的 WebView 行为,因此默认禁用这些设置是一个好习惯。
    例如,如果无需使用 Flash 插件,使用setPluginState(PluginState.OFF) 方法将其禁用可以防止黑客通过第三方插件对应用进行攻击:

    WebView WebView = new WebView(this);
    WebSettings settings = WebView.getSettings();
    settings.setPluginState(PluginState.OFF);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注