Android Webview雖然提供了頁面加載及資源請求的鉤子,但是對于h6的ajax請求并沒有提供干涉的接口,這意味著我們不能在webview中干涉javascript發(fā)起的http請求,而有時候我們確實需要能夠截獲ajax請求并實現(xiàn)一些功能如:統(tǒng)一的網(wǎng)絡(luò)請求管理、cookie同步、證書校驗、訪問控制等。
創(chuàng)新互聯(lián)是一家專業(yè)提供鄞州企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為鄞州眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。那么究竟有沒有辦法能在Webview中攔截ajax請求呢?
雖然在 Webview中無法直接攔截 ajax請求(其實在shouldInterceptRequest
中是可以收到ajax請求的,但是遺憾的是取不到請求參數(shù),這樣也是沒有意義的), 我們可以轉(zhuǎn)換思路,能不能在js中將所有的請求轉(zhuǎn)發(fā)到native中,這樣也就達到了相同的目的。如果可以,那就需要一種在javascript和native之間通信的橋梁(javascript bridge),通過它,javascript將請求信息傳遞給native, native完成真正的請求后再將結(jié)果數(shù)據(jù)傳遞給javascript。那么我們的思路就是:
在javascript中攔截所有ajax請求,然后通過javascript bridge將請求信息傳遞給native
native收到請求信息后,進行一些與處理邏輯,然后完成本次請求,將請求結(jié)果通過javascript bridge再回傳給javascript.
這樣,在第二步native上收到請求信息后,我們就可以進行統(tǒng)一的網(wǎng)絡(luò)請求管理、cookie同步、證書校驗、訪問控制。思路雖然簡單,但實現(xiàn)起來卻是比較麻煩,因為需要前端和native都需要做不少的工作。那么有什么簡單的方法嗎?當然有!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
名稱欄目:AndroidWebview攔截ajax請求-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article4/ccipie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、動態(tài)網(wǎng)站、App設(shè)計、小程序開發(fā)、網(wǎng)站策劃、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容