一、WebSettings
获取方法:webview.getSettings()
-
setJavaScriptEnabled (boolean flag)
设置WebView是否允许执行JavaScript脚本,默认false,不允许。 -
setBuiltInZoomControls (boolean enabled)
是否使用内置的缩放机制。内置的缩放机制包括屏幕上的缩放控件(浮于WebView内容之上)和缩放手势的运用。通过setDisplayZoomControls(boolean)可以控制是否显示这些控件,默认值为false。 -
setCacheMode (int mode)
重写使用缓存的方式,默认值LOAD_DEFAULT。缓存的使用方式基于导航类型,正常的页面加载,检测缓存,需要时缓存内容复现。导航返回时,内容不会复现,只有内容会从缓存盘中恢复。该方法允许客户端通过指定LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY的其中一项来重写其行为。 -
setDatabaseEnabled (boolean flag)
数据库存储API是否可用,默认值false。如何正确设置数据存储API参见setDatabasePath(String)。该设置对同一进程中的所有WebView实例均有效。注意,只能在当前进程的任意WebView加载页面之前修改此项,因为此节点之后WebView的实现类可能会忽略该项设置的改变。 -
setBlockNetworkImage (boolean flag)
是否禁止从网络(通过http和https URI schemes访问的资源)下载图片资源,默认值为false。注意,除非getLoadsImagesAutomatically()返回true,否则该方法无效。还请注意,即使此项设置为false,使用setBlockNetworkLoads(boolean)禁止所有网络加载也会阻止网络图片的加载。当此项设置的值从true变为false,WebView当前显示的内容所引用的网络图片资源会自动获取。 -
setDefaultTextEncodingName (String encoding)
设置默认的字符编码集,默认”UTF-8”. -
setAllowFileAccess (boolean allow)
是否允许访问文件,默认允许。注意,这里只是允许或禁止对文件系统的访问,Assets 和 resources 文件使用file:///android_asset
和file:///android_res
仍是可访问的。 -
setGeolocationDatabasePath (String databasePath)
定位数据库的保存路径,为了确保定位权限和缓存位置的持久化,该方法应该传入一个应用可写的路径。 -
setGeolocationEnabled (boolean flag)
定位是否可用,默认为true。请注意,为了确保定位API在WebView的页面中可用,必须遵守如下约定:
(1) app必须有定位的权限,参见ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION;
(2) app必须提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回调方法的实现,在页面通过JavaScript定位API请求定位时接收通知。
作为可选项,可以在数据库中存储历史位置和Web初始权限,参见setGeolocationDatabasePath(String). -
setDomStorageEnabled (boolean flag)
DOM存储API是否可用,默认false。 -
setRenderPriority (WebSettings.RenderPriority priority)
在API18以上已废弃。不建议调整线程优先级,未来版本不会支持这样做。设置绘制(Render,很多书上翻译成渲染,貌似很专业,但是不易懂,不敢苟同)线程的优先级。不像其他设置,同一进程中只需调用一次,默认值NORMAL。 -
setSaveFormData (boolean save)
WebView是否保存表单数据,默认值true。 -
setSupportZoom (boolean support)
WebView是否支持使用屏幕上的缩放控件和手势进行缩放,默认值true。设置setBuiltInZoo