android webView 的WebSettings說明

轉(zhuǎn)載自:
https://blog.csdn.net/a2241076850/article/details/52983939

史上最全的WebSettings說明

WebSettings webSettings=webView.getSettings();

  1. setAllowContentAccess (boolean allow)
    是否允許在WebView中訪問內(nèi)容URL(Content Url),默認允許。內(nèi)容Url訪問允許WebView從安裝在系統(tǒng)中的內(nèi)容提供者載入內(nèi)容食铐。

  2. setAllowFileAccess (boolean allow)
    是否允許訪問文件团搞,默認允許缴川。注意屁商,這里只是允許或禁止對文件系統(tǒng)的訪問梯啤,Assets 和 resources 文件使用file:///android_assetfile:///android_res仍是可訪問的谴垫。

  3. setAllowFileAccessFromFileURLs (boolean flag)
    是否允許運行在一個URL環(huán)境(the context of a file scheme URL)中的JavaScript訪問來自其他URL環(huán)境的內(nèi)容章母,為了保證安全,應(yīng)該不允許翩剪。也請注意胳施,這項設(shè)置只影響對file schema 資源的JavaScript訪問,其他形式的訪問肢专,例如來自圖片HTML單元的訪問不受影響舞肆。為了防止相同的域策略(same domain policy)對ICE_CREAM_SANDWICH以及更老機型的侵害,應(yīng)該顯式地設(shè)置此值為false博杖。

  4. setAllowUniversalAccessFromFileURLs (boolean flag)
    是否允許運行在一個file schema URL環(huán)境下的JavaScript訪問來自其他任何來源的內(nèi)容椿胯,包括其他file schema URLs. 參見setAllowFileAccessFromFileURLs(boolean),為了確保安全剃根,應(yīng)該設(shè)置為不允許哩盲,注意這項設(shè)置只影響對file schema 資源的JavaScript訪問,其他形式的訪問狈醉,例如來自圖片HTML單元的訪問不受影響廉油。為了防止相同的域策略(same domain policy)對ICE_CREAM_SANDWICH以及更老機型的侵害,應(yīng)該顯式地設(shè)置此值為false苗傅。ICE_CREAM_SANDWICH_MR1 以及更老的版本此默認值為true抒线,JELLY_BEAN以及更新版本此默認值為false

  5. setAppCacheEnabled (boolean flag)
    應(yīng)用緩存API是否可用,默認值false, 結(jié)合setAppCachePath(String)使用渣慕。

  6. setAppCachePath(String)
    設(shè)置應(yīng)用緩存文件的路徑嘶炭。為了讓應(yīng)用緩存API可用,此方法必須傳入一個應(yīng)用可寫的路徑逊桦。該方法只會執(zhí)行一次眨猎,重復(fù)調(diào)用會被忽略。

  7. setAppCacheMaxSize (long appCacheMaxSize)
    已廢棄强经。設(shè)置應(yīng)用緩存內(nèi)容的最大值睡陪。所傳值會被近似為數(shù)據(jù)庫支持的最近似值,因此這是一個指示值匿情,而不是一個固定值兰迫。所傳值若小于數(shù)據(jù)庫大小不會讓數(shù)據(jù)庫調(diào)整大小。默認值是MAX_VALUE码秉,建議將默認值設(shè)置為最大值逮矛。

  8. setBlockNetworkImage (boolean flag)
    是否禁止從網(wǎng)絡(luò)(通過http和https URI schemes訪問的資源)下載圖片資源,默認值為false转砖。注意须鼎,除非getLoadsImagesAutomatically()返回true,否則該方法無效鲸伴。還請注意,即使此項設(shè)置為false晋控,使用setBlockNetworkLoads(boolean)禁止所有網(wǎng)絡(luò)加載也會阻止網(wǎng)絡(luò)圖片的加載汞窗。當(dāng)此項設(shè)置的值從true變?yōu)閒alse,WebView當(dāng)前顯示的內(nèi)容所引用的網(wǎng)絡(luò)圖片資源會自動獲取赡译。

  9. setBlockNetworkLoads (boolean flag)
    是否禁止從網(wǎng)絡(luò)下載數(shù)據(jù)仲吏,如果app有INTERNET權(quán)限,默認值為false蝌焚,否則默認為true裹唆。使用setBlockNetworkImage(boolean) 只會禁止圖片資源的加載。注意此值由true變?yōu)閒alse只洒,當(dāng)前WebView展示的內(nèi)容所引用的網(wǎng)絡(luò)資源不會自動加載许帐,直到調(diào)用了重載。如果APP沒有INTERNET權(quán)限毕谴,設(shè)置此值為false會拋出SecurityException成畦。

  10. setBuiltInZoomControls (boolean enabled)
    是否使用內(nèi)置的縮放機制。內(nèi)置的縮放機制包括屏幕上的縮放控件(浮于WebView內(nèi)容之上)和縮放手勢的運用涝开。通過setDisplayZoomControls(boolean)可以控制是否顯示這些控件循帐,默認值為false。

  11. setCacheMode (int mode)
    重寫使用緩存的方式舀武,默認值LOAD_DEFAULT拄养。緩存的使用方式基于導(dǎo)航類型,正常的頁面加載奕剃,檢測緩存衷旅,需要時緩存內(nèi)容復(fù)現(xiàn)。導(dǎo)航返回時纵朋,內(nèi)容不會復(fù)現(xiàn),只有內(nèi)容會從緩存盤中恢復(fù)茄袖。該方法允許客戶端通過指定LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY的其中一項來重寫其行為操软。

  12. setCursiveFontFamily (String font)
    設(shè)置WebView字體庫字體,默認“cursive”

  13. setDatabaseEnabled (boolean flag)
    數(shù)據(jù)庫存儲API是否可用宪祥,默認值false聂薪。如何正確設(shè)置數(shù)據(jù)存儲API參見setDatabasePath(String)。該設(shè)置對同一進程中的所有WebView實例均有效蝗羊。注意藏澳,只能在當(dāng)前進程的任意WebView加載頁面之前修改此項,因為此節(jié)點之后WebView的實現(xiàn)類可能會忽略該項設(shè)置的改變耀找。

  14. setDatabasePath (String databasePath)
    已廢棄翔悠,數(shù)據(jù)庫路徑由實現(xiàn)(implementation)管理业崖,調(diào)用此方法無效。
    設(shè)置數(shù)據(jù)庫的存儲路徑蓄愁,為了保證數(shù)據(jù)庫正確運行双炕,該方法必須使用一個應(yīng)用可寫的路徑。此方法只能執(zhí)行一次撮抓,重復(fù)調(diào)用會被忽略妇斤。

  15. setDefaultFixedFontSize (int size)
    設(shè)置默認固定的字體大小,默認為16丹拯,可取值1到72

  16. setDefaultFontSize (int size)
    設(shè)置默認的字體大小站超,默認16,可取值1到72

  17. setDefaultTextEncodingName (String encoding)
    設(shè)置默認的字符編碼集乖酬,默認”UTF-8”.

  18. setDefaultZoom (WebSettings.ZoomDensity zoom)
    已廢棄顷编。設(shè)置默認的縮放密度,必須在UI線程調(diào)用剑刑,默認值MEDIUM.該項設(shè)置在新應(yīng)用中不推薦使用媳纬。如果WebView用于展示手機頁面,可以通過調(diào)整頁面的’meta viewport’ 標記中的’width’ 和 ‘initial-scale’屬性實現(xiàn)預(yù)期效果施掏,對于漏用標記的頁面钮惠,可以使用setInitialScale(int)和setUseWideViewPort(boolean) .

  19. setDisplayZoomControls (boolean enabled)
    使用內(nèi)置的縮放機制時是否展示縮放控件,默認值true七芭。參見setBuiltInZoomControls(boolean).

  20. setDomStorageEnabled (boolean flag)
    DOM存儲API是否可用素挽,默認false。

  21. setEnableSmoothTransition (boolean enable)
    已廢棄狸驳,將來會成為空操作(no-op)预明,設(shè)置當(dāng)panning或者縮放或者持有當(dāng)前WebView的window沒有焦點時是否允許其光滑過渡,若為true耙箍,WebView會選擇一個性能最大化的解決方案撰糠。例如過渡時WebView的內(nèi)容可能不更新。若為false辩昆,WebView會保持精度(fidelity)阅酪,默認值false。

  22. setFantasyFontFamily (String font)
    設(shè)置fantasy字體集(font family)的名字默認為“fantasy”

  23. setFixedFontFamily (String font)
    設(shè)置固定的字體集的名字汁针,默認為”monospace”术辐。

  24. setGeolocationDatabasePath (String databasePath)
    定位數(shù)據(jù)庫的保存路徑,為了確保定位權(quán)限和緩存位置的持久化施无,該方法應(yīng)該傳入一個應(yīng)用可寫的路徑辉词。

  25. setGeolocationEnabled (boolean flag)
    定位是否可用,默認為true猾骡。請注意瑞躺,為了確保定位API在WebView的頁面中可用敷搪,必須遵守如下約定:
    (1) app必須有定位的權(quán)限,參見ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION隘蝎;
    (2) app必須提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回調(diào)方法的實現(xiàn)购啄,在頁面通過JavaScript定位API請求定位時接收通知。
    作為可選項嘱么,可以在數(shù)據(jù)庫中存儲歷史位置和Web初始權(quán)限狮含,參見setGeolocationDatabasePath(String).

  26. setJavaScriptCanOpenWindowsAutomatically (boolean flag)
    讓JavaScript自動打開窗口,默認false曼振。適用于JavaScript方法window.open()几迄。

  27. setJavaScriptEnabled (boolean flag)
    設(shè)置WebView是否允許執(zhí)行JavaScript腳本,默認false冰评,不允許映胁。

  28. setLayoutAlgorithm (WebSettings.LayoutAlgorithm l)
    設(shè)置布局,會引起WebView的重新布局(relayout),默認值NARROW_COLUMNS

  29. setLightTouchEnabled (boolean enabled)
    已廢棄甲雅。從 JELLY_BEAN 開始解孙,該設(shè)置無效。允許使用輕觸摸做出選擇和光標懸停抛人。

  30. setLoadWithOverviewMode (boolean overview)
    是否允許WebView度超出以概覽的方式載入頁面弛姜,默認false。即縮小內(nèi)容以適應(yīng)屏幕寬度妖枚。該項設(shè)置在內(nèi)容寬度超出WebView控件的寬度時生效廷臼,例如當(dāng)getUseWideViewPort() 返回true時。

  31. setLoadsImagesAutomatically (boolean flag)
    WebView是否下載圖片資源绝页,默認為true荠商。注意,該方法控制所有圖片的下載续誉,包括使用URI嵌入的圖片(使用setBlockNetworkImage(boolean) 只控制使用網(wǎng)絡(luò)URI的圖片的下載)莱没。如果該設(shè)置項的值由false變?yōu)閠rue,WebView展示的內(nèi)容所引用的所有的圖片資源將自動下載屈芜。

  32. setMediaPlaybackRequiresUserGesture (boolean require)
    WebView是否需要用戶的手勢進行媒體播放郊愧,默認值為true。

  33. setMinimumFontSize (int size)
    設(shè)置最小的字號井佑,默認為8

  34. setMinimumLogicalFontSize (int size)
    設(shè)置最小的本地字號,默認為8眠寿。

  35. setMixedContentMode (int mode)
    當(dāng)一個安全的來源(origin)試圖從一個不安全的來源加載資源時配置WebView的行為躬翁。默認情況下,KITKAT及更低版本默認值為MIXED_CONTENT_ALWAYS_ALLOW盯拱,LOLLIPOP版本默認值MIXED_CONTENT_NEVER_ALLOW盒发,WebView首選的最安全的操作模式為MIXED_CONTENT_NEVER_ALLOW 例嘱,不鼓勵使用MIXED_CONTENT_ALWAYS_ALLOW。

  36. setNeedInitialFocus (boolean flag)
    調(diào)用requestFocus(int, Android.graphics.Rect)時是否需要設(shè)置節(jié)點獲取焦點宁舰,默認值為true拼卵。

  37. setOffscreenPreRaster (boolean enabled)
    當(dāng)WebView切換到后臺但仍然與窗口關(guān)聯(lián)時是否raster tiles,打開它可以避免在WebView從后臺切換到前臺時重新繪制蛮艰,默認值false腋腮。在這種模式下后臺的WebView占用更多的內(nèi)存。請按如下準則顯示內(nèi)存的使用:

  38. WebView的尺寸不能比設(shè)備的屏幕尺寸更大壤蚜;

  39. 限制在少數(shù)WebView上使用該模式即寡;

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

  41. setPluginState (WebSettings.PluginState state)
    在API18以上已廢棄袜刷。未來將不支持插件聪富,不要使用。告訴WebView啟用著蟹、禁用或者有即用(on demand)的插件墩蔓,即用模式是指如果存在一個可以處理嵌入內(nèi)容的插件,會顯示一個占位圖標萧豆,點擊時開啟奸披。默認值OFF。

  42. setRenderPriority (WebSettings.RenderPriority priority)
    在API18以上已廢棄炕横。不建議調(diào)整線程優(yōu)先級源内,未來版本不會支持這樣做。設(shè)置繪制(Render份殿,很多書上翻譯成渲染膜钓,貌似很專業(yè),但是不易懂卿嘲,不敢茍同)線程的優(yōu)先級颂斜。不像其他設(shè)置,同一進程中只需調(diào)用一次拾枣,默認值NORMAL沃疮。

  43. setSansSerifFontFamily (String font)
    設(shè)置無襯線字體集(sans-serif font family)的名字。默認值”sans-serif”.

  44. setSaveFormData (boolean save)
    WebView是否保存表單數(shù)據(jù)梅肤,默認值true司蔬。

  45. setSavePassword (boolean save)
    API18以上版本已廢棄。未來版本將不支持保存WebView中的密碼姨蝴。設(shè)置WebView是否保存密碼俊啼,默認true。

  46. setSerifFontFamily (String font)
    設(shè)置襯線字體集(serif font family)的名字左医,默認“sans-serif”授帕。

  47. setStandardFontFamily (String font)
    設(shè)置標準字體集的名字同木,默認值“sans-serif”。

  48. setSupportMultipleWindows (boolean support)
    設(shè)置WebView是否支持多窗口跛十。如果設(shè)置為true彤路,主程序要實現(xiàn)onCreateWindow(WebView, boolean, boolean, Message),默認false芥映。

  49. setSupportZoom (boolean support)
    WebView是否支持使用屏幕上的縮放控件和手勢進行縮放洲尊,默認值true。設(shè)置setBuiltInZoomControls(boolean)可以使用特殊的縮放機制屏轰。該項設(shè)置不會影響zoomIn() and zoomOut()的縮放操作颊郎。

  50. setTextSize (WebSettings.TextSize t)
    API14版本以上已廢棄。請取代使用setTextZoom(int)霎苗。設(shè)置頁面文本的尺寸姆吭,默認NORMAL。

  51. setTextZoom (int textZoom)
    設(shè)置頁面上的文本縮放百分比唁盏,默認100内狸。

  52. setUseWideViewPort (boolean use)
    WebView是否支持HTML的“viewport”標簽或者使用wide viewport。設(shè)置值為true時厘擂,布局的寬度總是與WebView控件上的設(shè)備無關(guān)像素(device-dependent pixels)寬度一致昆淡。當(dāng)值為true且頁面包含viewport標記,將使用標簽指定的寬度刽严。如果頁面不包含標簽或者標簽沒有提供寬度昂灵,那就使用wide viewport。

  53. setUserAgentString (String ua)
    設(shè)置WebView的用戶代理字符串舞萄。如果字符串為null或者empty眨补,將使用系統(tǒng)默認值。注意從KITKAT版本開始倒脓,加載網(wǎng)頁時改變用戶代理會讓W(xué)ebView再次初始化加載撑螺。

  54. supportMultipleWindows ()
    獲取WebView是否支持多窗口的值。

  55. supportZoom ()
    獲取WebView是否支持縮放的值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崎弃,一起剝皮案震驚了整個濱河市甘晤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饲做,老刑警劉巖线婚,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盆均,居然都是意外死亡酌伊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門缀踪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來居砖,“玉大人,你說我怎么就攤上這事驴娃∽嗪颍” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵唇敞,是天一觀的道長蔗草。 經(jīng)常有香客問我,道長疆柔,這世上最難降的妖魔是什么咒精? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮旷档,結(jié)果婚禮上模叙,老公的妹妹穿的比我還像新娘。我一直安慰自己鞋屈,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宴合,像睡著了一般迷帜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上权旷,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天替蛉,我揣著相機與錄音,去河邊找鬼拄氯。 笑死躲查,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坤邪。 我是一名探鬼主播熙含,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼艇纺!你這毒婦竟也來了怎静?” 一聲冷哼從身側(cè)響起黔衡,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蚓聘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后盟劫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夜牡,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了塘装。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片急迂。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蹦肴,靈堂內(nèi)的尸體忽然破棺而出僚碎,到底是詐尸還是另有隱情,我是刑警寧澤阴幌,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布勺阐,位于F島的核電站,受9級特大地震影響矛双,放射性物質(zhì)發(fā)生泄漏渊抽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一议忽、第九天 我趴在偏房一處隱蔽的房頂上張望懒闷。 院中可真熱鬧,春花似錦徙瓶、人聲如沸毛雇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灵疮。三九已至,卻和暖如春壳繁,著一層夾襖步出監(jiān)牢的瞬間震捣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工闹炉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蒿赢,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓渣触,卻偏偏與公主長得像羡棵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嗅钻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 1.setAllowContentAccess (boolean allow) 是否允許在WebView中訪...
    djsolar閱讀 1,865評論 0 1
  • WebView·開車指南 2016-08-31BugDev 北京市東城區(qū)首席Bug布道師開山之作皂冰,一整月交通事故血...
    53c021c38a1d閱讀 827評論 0 1
  • WebView簡介 String getUrl():獲取當(dāng)前頁面的URL。 reload():重新reload當(dāng)前...
    QM閱讀 3,090評論 0 52
  • 1.WebSettings webSettings=webView.getSettings(); setAllow...
    LAu_閱讀 5,506評論 0 4
  • WebView·開車指南 目錄 WebView簡介 WebView基本使用 WebView常用方法 WebSett...
    南城的人閱讀 4,743評論 0 19