1-現像
2-原因當時接到使用者反饋,我們第一時間對現象發生的原因進行了一系列猜想:
1.是不是我們專案中的第三方jar非官方版本,被植入了一些廣告**
2.dns劫持
3.http劫持
做技術的都明白,那就是經驗有的時候是助力,也是阻力。很多時候我們會被我們的經驗所羈絆。很多資深技術,看到第一條的現象很容易冒出腦海的肯定是:劫持。
那麼第一條的理由是不是可能導致這種現象,從實現來說,完全可以做到的。現在很多開發人員平常開發過程隨意之極,頻繁的在專案使用一些小眾且不規範的第三方jar包。而這些第三方jar也會是一些廣告的**。甚至是安全隱患的**。
另一方面我們根據我們的猜想對使用者及時進行了回訪,以便驗證我們的猜想的正確性。
1.用的是4g還是wifi?
2.如果是wifi,是不是路邊免費的wifi?
3.在什麼頁面出現?(方便定位是h5頁面還是原生介面,對大部分使用者,千萬不要問他是h5還是原生,只能自己分析,如果原生介面也出現那麼第三方jar出現問題的概率很大,如果只是h5介面,那麼劫持的可能性很大)
4.使用的是android 還是ios客戶端
綜合使用者的答案,我們總結如下:
1.4g,wifi都出現了。
2.出現的位置都是h5頁面。
3.android ios都出現了
3-排查而很明顯,我們遇到的是第二種
4-解決方案
從api 11開始引入,api 21棄用
@override
public webresourceresponse shouldinterceptrequest(webview view, string url)
從api 21開始引入
@override
public webresourceresponse shouldinterceptrequest(webview view, final webresourcerequest request)
webview在webviewclient裡提供的2種攔截ajax請求的方法
從api 11開始引入,api 21棄用
@override
public webresourceresponse shouldinterceptrequest(webview view, string url)
});}
從api 21開始引入
@override
public webresourceresponse shouldinterceptrequest(webview view, final webresourcerequest request)
});}
5-拓展
h5頁面開發
相信大家在做h5頁面開發的時候,也會遇到一些問題。筆者將h5開發過程中常見的一些問題和解決辦法列舉出來,有需要的朋友可以參考一下。1.安卓瀏覽器看背景,有些裝置會模糊。同等比例的在pc端頁面和移動手機端頁面的解析度差很多,原因和devicepixelratio有關。手機解析度比pc端的解析度小,按照...
H5及H5頁面是什麼意思?如何製作H5頁面?
h5是html5的簡稱。html5是html最新的修訂版本,是一種超文字標記語言。h5有兩大特點 首先,強化了 web 網頁的表現效能。其次,追加了本地資料庫等 web 應用的功能。第二步 選擇 高階模式 點 建立應用。第三步 進入製作頁面。九個控制項,通過點選新增到製作介面,控制項的選擇使用按照你...
h5頁面的寫法 移動端h5頁面寫法
1.頁面寬度320,所有元素尺寸設一半 缺點 不自能適應全屏 2.頁面寬度640,元素尺寸正常 暫未發現問題 3.頁面寬度640,js控制自適應全屏 adaptuilayout.adapt initviewportwidth 缺點 qq空間分享後點開頁面套在qq預設瀏覽器裡有相容性問題 4.rem寫...