WebView WebSetting詳解

1.WebSettings webSettings=webView.getSettings();

setAllowContentAccess (boolean allow)

是否允許在WebView中訪問內容URL(Content Url),默認允許念赶。內容Url訪問允許WebView從安裝在系統(tǒng)中的內容提供者載入內容煤伟。

2.setAllowFileAccess (boolean allow)

是否允許訪問文件,默認允許。注意众辨,這里只是允許或禁止對文件系統(tǒng)的訪問捺信,Assets 和 resources 文件使用file:///android_asset和file:///android_res仍是可訪問的狂票。

setAllowFileAccessFromFileURLs (boolean flag)

是否允許運行在一個URL環(huán)境(the context of a file scheme URL)中的JavaScript訪問來自其他URL環(huán)境的內容拥娄,為了保證安全蚊锹,應該不允許。也請注意稚瘾,這項設置只影響對file schema 資源的JavaScript訪問牡昆,其他形式的訪問,例如來自圖片HTML單元的訪問不受影響孟抗。為了防止相同的域策略(same domain policy)對ICE_CREAM_SANDWICH以及更老機型的侵害迁杨,應該顯式地設置此值為false。

setAllowUniversalAccessFromFileURLs (boolean flag)

是否允許運行在一個file schema URL環(huán)境下的JavaScript訪問來自其他任何來源的內容凄硼,包括其他file schema URLs. 參見setAllowFileAccessFromFileURLs(boolean)铅协,為了確保安全,應該設置為不允許摊沉,注意這項設置只影響對file schema 資源的JavaScript訪問狐史,其他形式的訪問,例如來自圖片HTML單元的訪問不受影響说墨。為了防止相同的域策略(same domain policy)對ICE_CREAM_SANDWICH以及更老機型的侵害骏全,應該顯式地設置此值為false。ICE_CREAM_SANDWICH_MR1 以及更老的版本此默認值為true尼斧,JELLY_BEAN以及更新版本此默認值為false

setAppCacheEnabled (boolean flag)

應用緩存API是否可用姜贡,默認值false, 結合setAppCachePath(String)使用。

setAppCachePath(String)

設置應用緩存文件的路徑棺棵。為了讓應用緩存API可用楼咳,此方法必須傳入一個應用可寫的路徑。該方法只會執(zhí)行一次烛恤,重復調用會被忽略母怜。

setAppCacheMaxSize (long appCacheMaxSize)

已廢棄。設置應用緩存內容的最大值缚柏。所傳值會被近似為數(shù)據庫支持的最近似值苹熏,因此這是一個指示值,而不是一個固定值币喧。所傳值若小于數(shù)據庫大小不會讓數(shù)據庫調整大小轨域。默認值是MAX_VALUE,建議將默認值設置為最大值杀餐。

setBlockNetworkImage (boolean flag)

是否禁止從網絡(通過http和https URI schemes訪問的資源)下載圖片資源疙挺,默認值為false。注意怜浅,除非getLoadsImagesAutomatically()返回true,否則該方法無效。還請注意,即使此項設置為false恶座,使用setBlockNetworkLoads(boolean)禁止所有網絡加載也會阻止網絡圖片的加載搀暑。當此項設置的值從true變?yōu)閒alse,WebView當前顯示的內容所引用的網絡圖片資源會自動獲取跨琳。

setBlockNetworkLoads (boolean flag)

是否禁止從網絡下載數(shù)據自点,如果app有INTERNET權限,默認值為false脉让,否則默認為true桂敛。使用setBlockNetworkImage(boolean) 只會禁止圖片資源的加載。注意此值由true變?yōu)閒alse溅潜,當前WebView展示的內容所引用的網絡資源不會自動加載术唬,直到調用了重載。如果APP沒有INTERNET權限滚澜,設置此值為false會拋出SecurityException粗仓。

setBuiltInZoomControls (boolean enabled)

是否使用內置的縮放機制。內置的縮放機制包括屏幕上的縮放控件(浮于WebView內容之上)和縮放手勢的運用设捐。通過setDisplayZoomControls(boolean)可以控制是否顯示這些控件借浊,默認值為false。

setCacheMode (int mode)

重寫使用緩存的方式萝招,默認值LOAD_DEFAULT蚂斤。緩存的使用方式基于導航類型,正常的頁面加載槐沼,檢測緩存曙蒸,需要時緩存內容復現(xiàn)。導航返回時母赵,內容不會復現(xiàn)逸爵,只有內容會從緩存盤中恢復。該方法允許客戶端通過指定LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY的其中一項來重寫其行為凹嘲。

setCursiveFontFamily (String font)

設置WebView字體庫字體师倔,默認“cursive”

setDatabaseEnabled (boolean flag)

數(shù)據庫存儲API是否可用,默認值false周蹭。如何正確設置數(shù)據存儲API參見setDatabasePath(String)趋艘。該設置對同一進程中的所有WebView實例均有效。注意凶朗,只能在當前進程的任意WebView加載頁面之前修改此項瓷胧,因為此節(jié)點之后WebView的實現(xiàn)類可能會忽略該項設置的改變。

setDatabasePath (String databasePath)

已廢棄棚愤,數(shù)據庫路徑由實現(xiàn)(implementation)管理搓萧,調用此方法無效杂数。

設置數(shù)據庫的存儲路徑,為了保證數(shù)據庫正確運行瘸洛,該方法必須使用一個應用可寫的路徑揍移。此方法只能執(zhí)行一次,重復調用會被忽略反肋。

setDefaultFixedFontSize (int size)

設置默認固定的字體大小那伐,默認為16,可取值1到72

setDefaultFontSize (int size)

設置默認的字體大小石蔗,默認16罕邀,可取值1到72

setDefaultTextEncodingName (String encoding)

設置默認的字符編碼集,默認”UTF-8”.

setDefaultZoom (WebSettings.ZoomDensity zoom)

已廢棄养距。設置默認的縮放密度诉探,必須在UI線程調用,默認值MEDIUM.該項設置在新應用中不推薦使用铃在。如果WebView用于展示手機頁面阵具,可以通過調整頁面的’meta viewport’ 標記中的’width’ 和 ‘initial-scale’屬性實現(xiàn)預期效果,對于漏用標記的頁面定铜,可以使用setInitialScale(int)和setUseWideViewPort(boolean) .

setDisplayZoomControls (boolean enabled)

使用內置的縮放機制時是否展示縮放控件阳液,默認值true。參見setBuiltInZoomControls(boolean).

setDomStorageEnabled (boolean flag)

DOM存儲API是否可用揣炕,默認false帘皿。

setEnableSmoothTransition (boolean enable)

已廢棄,將來會成為空操作(no-op)畸陡,設置當panning或者縮放或者持有當前WebView的window沒有焦點時是否允許其光滑過渡鹰溜,若為true,WebView會選擇一個性能最大化的解決方案丁恭。例如過渡時WebView的內容可能不更新曹动。若為false,WebView會保持精度(fidelity)牲览,默認值false墓陈。

setFantasyFontFamily (String font)

設置fantasy字體集(font family)的名字默認為“fantasy”

setFixedFontFamily (String font)

設置固定的字體集的名字,默認為”monospace”第献。

setGeolocationDatabasePath (String databasePath)

定位數(shù)據庫的保存路徑贡必,為了確保定位權限和緩存位置的持久化,該方法應該傳入一個應用可寫的路徑庸毫。

setGeolocationEnabled (boolean flag)

定位是否可用仔拟,默認為true。請注意飒赃,為了確保定位API在WebView的頁面中可用利花,必須遵守如下約定:

(1) app必須有定位的權限科侈,參見ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION;

(2) app必須提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回調方法的實現(xiàn)炒事,在頁面通過JavaScript定位API請求定位時接收通知兑徘。

作為可選項,可以在數(shù)據庫中存儲歷史位置和Web初始權限羡洛,參見setGeolocationDatabasePath(String).

setJavaScriptCanOpenWindowsAutomatically (boolean flag)

讓JavaScript自動打開窗口,默認false藕漱。適用于JavaScript方法window.open()欲侮。

setJavaScriptEnabled (boolean flag)

設置WebView是否允許執(zhí)行JavaScript腳本,默認false肋联,不允許威蕉。

setLayoutAlgorithm (WebSettings.LayoutAlgorithm l)

設置布局,會引起WebView的重新布局(relayout),默認值NARROW_COLUMNS

setLightTouchEnabled (boolean enabled)

已廢棄橄仍。從 JELLY_BEAN 開始韧涨,該設置無效。允許使用輕觸摸做出選擇和光標懸停侮繁。

setLoadWithOverviewMode (boolean overview)

是否允許WebView度超出以概覽的方式載入頁面虑粥,默認false。即縮小內容以適應屏幕寬度宪哩。該項設置在內容寬度超出WebView控件的寬度時生效娩贷,例如當getUseWideViewPort() 返回true時。

setLoadsImagesAutomatically (boolean flag)

WebView是否下載圖片資源锁孟,默認為true彬祖。注意,該方法控制所有圖片的下載品抽,包括使用URI嵌入的圖片(使用setBlockNetworkImage(boolean) 只控制使用網絡URI的圖片的下載)储笑。如果該設置項的值由false變?yōu)閠rue,WebView展示的內容所引用的所有的圖片資源將自動下載圆恤。

setMediaPlaybackRequiresUserGesture (boolean require)

WebView是否需要用戶的手勢進行媒體播放突倍,默認值為true。

setMinimumFontSize (int size)

設置最小的字號哑了,默認為8

setMinimumLogicalFontSize (int size)

設置最小的本地字號赘方,默認為8。

setMixedContentMode (int mode)

當一個安全的來源(origin)試圖從一個不安全的來源加載資源時配置WebView的行為弱左。默認情況下窄陡,KITKAT及更低版本默認值為MIXED_CONTENT_ALWAYS_ALLOW,LOLLIPOP版本默認值MIXED_CONTENT_NEVER_ALLOW拆火,WebView首選的最安全的操作模式為MIXED_CONTENT_NEVER_ALLOW 跳夭,不鼓勵使用MIXED_CONTENT_ALWAYS_ALLOW涂圆。

setNeedInitialFocus (boolean flag)

調用requestFocus(int, Android.graphics.Rect)時是否需要設置節(jié)點獲取焦點,默認值為true币叹。

setOffscreenPreRaster (boolean enabled)

當WebView切換到后臺但仍然與窗口關聯(lián)時是否raster tiles润歉,打開它可以避免在WebView從后臺切換到前臺時重新繪制,默認值false颈抚。在這種模式下后臺的WebView占用更多的內存踩衩。請按如下準則顯示內存的使用:

WebView的尺寸不能比設備的屏幕尺寸更大;

限制在少數(shù)WebView上使用該模式贩汉;

在可見的WebView和即將顯現(xiàn)的WebView上使用驱富;

setPluginState (WebSettings.PluginState state)

在API18以上已廢棄。未來將不支持插件匹舞,不要使用褐鸥。告訴WebView啟用、禁用或者有即用(on demand)的插件赐稽,即用模式是指如果存在一個可以處理嵌入內容的插件叫榕,會顯示一個占位圖標,點擊時開啟姊舵。默認值OFF晰绎。

setRenderPriority (WebSettings.RenderPriority priority)

在API18以上已廢棄。不建議調整線程優(yōu)先級蠢莺,未來版本不會支持這樣做寒匙。設置繪制(Render,很多書上翻譯成渲染躏将,貌似很專業(yè)锄弱,但是不易懂,不敢茍同)線程的優(yōu)先級祸憋。不像其他設置会宪,同一進程中只需調用一次,默認值NORMAL蚯窥。

setSansSerifFontFamily (String font)

設置無襯線字體集(sans-serif font family)的名字掸鹅。默認值”sans-serif”.

setSaveFormData (boolean save)

WebView是否保存表單數(shù)據,默認值true拦赠。

setSavePassword (boolean save)

API18以上版本已廢棄巍沙。未來版本將不支持保存WebView中的密碼。設置WebView是否保存密碼荷鼠,默認true句携。

setSerifFontFamily (String font)

設置襯線字體集(serif font family)的名字,默認“sans-serif”允乐。

setStandardFontFamily (String font)

設置標準字體集的名字矮嫉,默認值“sans-serif”削咆。

setSupportMultipleWindows (boolean support)

設置WebView是否支持多窗口。如果設置為true蠢笋,主程序要實現(xiàn)onCreateWindow(WebView, boolean, boolean, Message)拨齐,默認false。

setSupportZoom (boolean support)

WebView是否支持使用屏幕上的縮放控件和手勢進行縮放昨寞,默認值true瞻惋。設置setBuiltInZoomControls(boolean)可以使用特殊的縮放機制。該項設置不會影響zoomIn() and zoomOut()的縮放操作援岩。

setTextSize (WebSettings.TextSize t)

API14版本以上已廢棄熟史。請取代使用setTextZoom(int)。設置頁面文本的尺寸窄俏,默認NORMAL。

setTextZoom (int textZoom)

設置頁面上的文本縮放百分比碘菜,默認100凹蜈。

setUseWideViewPort (boolean use)

WebView是否支持HTML的“viewport”標簽或者使用wide viewport。設置值為true時忍啸,布局的寬度總是與WebView控件上的設備無關像素(device-dependent pixels)寬度一致仰坦。當值為true且頁面包含viewport標記,將使用標簽指定的寬度计雌。如果頁面不包含標簽或者標簽沒有提供寬度悄晃,那就使用wide viewport。

setUserAgentString (String ua)

設置WebView的用戶代理字符串凿滤。如果字符串為null或者empty妈橄,將使用系統(tǒng)默認值。注意從KITKAT版本開始翁脆,加載網頁時改變用戶代理會讓WebView再次初始化加載眷蚓。

supportMultipleWindows ()

獲取WebView是否支持多窗口的值。

supportZoom ()

獲取WebView是否支持縮放的值

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末反番,一起剝皮案震驚了整個濱河市沙热,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罢缸,老刑警劉巖篙贸,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異枫疆,居然都是意外死亡爵川,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門养铸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雁芙,“玉大人轧膘,你說我怎么就攤上這事⊥酶剩” “怎么了谎碍?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長洞焙。 經常有香客問我蟆淀,道長,這世上最難降的妖魔是什么澡匪? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任熔任,我火速辦了婚禮,結果婚禮上唁情,老公的妹妹穿的比我還像新娘疑苔。我一直安慰自己,他們只是感情好甸鸟,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布惦费。 她就那樣靜靜地躺著,像睡著了一般抢韭。 火紅的嫁衣襯著肌膚如雪薪贫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天刻恭,我揣著相機與錄音瞧省,去河邊找鬼。 笑死鳍贾,一個胖子當著我的面吹牛鞍匾,可吹牛的內容都是我干的。 我是一名探鬼主播骑科,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼候学,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纵散?” 一聲冷哼從身側響起梳码,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伍掀,沒想到半個月后掰茶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蜜笤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年濒蒋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡沪伙,死狀恐怖瓮顽,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情围橡,我是刑警寧澤暖混,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站翁授,受9級特大地震影響拣播,放射性物質發(fā)生泄漏。R本人自食惡果不足惜收擦,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一贮配、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧塞赂,春花似錦泪勒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鳍置,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間送淆,已是汗流浹背税产。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留偷崩,地道東北人辟拷。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像阐斜,于是被迫代替她去往敵國和親衫冻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理谒出,服務發(fā)現(xiàn)隅俘,斷路器,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • WebSettings用于管理WebView狀態(tài)配置笤喳,當WebView第一次被創(chuàng)建時为居,WebView包含著一個默認...
    游戲開發(fā)小Y閱讀 25,039評論 1 19
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,440評論 0 17
  • 1.setAllowContentAccess (boolean allow) 是否允許在WebView中訪...
    djsolar閱讀 1,893評論 0 1
  • 原創(chuàng) 2017-04-20 四貓先生 這個星期一我真是太忙了,除了正常備課、上課外膳凝,我還完成了兩件大事碑隆。 一是上報...
    四貓先生閱讀 419評論 10 16