對app內嵌網頁接觸很少,這裏描述的是一種內嵌網頁佈局亂掉的可能緣由:java
參考文章: Android開發填坑之setUseWideViewPortweb
簡單review代碼,發現是經過動態修改meta
標籤實現的自適應,在手機端瀏覽器或者公司的app內打開這個網頁都是ok的,看一下有bug的app內頁面效果,感受貌似是縮放的問題;瀏覽器
查了下這個app內webview的UA,發現是很常規的webkit內核,不是瀏覽器內核的問題,而後我回過頭修改代碼,換些寫法,更改自適應meta
標籤的實現,或者改用rem單位,或者採用scale縮放,都不能達到我想要的效果,換種思路;app
整體來講,這份代碼應該問題不大,由於在公司開發的app內,手機端瀏覽器都是正常顯示的,那同一個手機,爲何在第三方開發的那個app內打開這個網頁就不行了呢?懷疑比較大機率是他們的安卓的設置不搭,詢問安卓同事,說安卓能夠對webview控件作一些參數的設置,包括縮放等一堆設置;ide
聯繫第三方app的安卓,總的一句話就是,爲何一樣一份網頁代碼在咱們APP內能夠,在大家APP內就不行了,懷疑大家的webview參數設置不一樣,比照下咱們的參數應該就能找到問題;佈局
經過比較發現是這樣子一個參數沒作設置,這個參數文檔上說是關於webview控件是否支持<meta>
標籤的viewport
屬性,最後安卓開發添加該參數後,佈局錯亂問題解決;測試
webSettings.setUseWideViewPort(true);
複製代碼
至此問題解決spa