柚子快報邀請碼778899分享:前端 面試 交互 Title
柚子快報邀請碼778899分享:前端 面試 交互 Title
其中wholeJS就是JS文件轉(zhuǎn)化而來的字符串,然后調(diào)用
webView.loadUrl("javascript: " + wholeJS);
1
就可以看到和之前一樣的效果。
方式2: 通過evaluateJavascript方法
相較于loadUrl,evaluateJavascript的優(yōu)勢在于異步加載,還可以將執(zhí)行JS代碼的結(jié)果帶回來,我們以下面一個小例子來說明。
我們在web頁面中聲明如下方法:
123456
然后我們注入js代碼調(diào)用這個函數(shù),并將121這個結(jié)果帶回來來,在onPageFinished中調(diào)用以下代碼
webView.evaluateJavascript(“getUID()”, new ValueCallback() {
@Override
public void onReceiveValue(String value) {
Log.d(“CALLBACK”, value);
}
});
123456
結(jié)果如下
JS調(diào)用Native
JS調(diào)用Native是最常用也是最重要的方法,在實現(xiàn)上有兩種思路,一種是攔截schema,有兩種方式攔截,一種是注冊接口。我們依然以一個例子取說明這個過程,也很簡單,我們load一個在本地的頁面,頁面上只有一個按鈕如下圖,按下這個按鈕去調(diào)用原生的Toast方法。
方式1:攔截URL schema
URL schema是一種請求格式,用攔截URL schema的方式我就需要自定義一個URL schema,如jsbridge://jsbridge://webview?&arg1=hello&arg2=world,我們的html頁面如下
Title
JS 調(diào)用Native
1234567891011121314151617181920212223242526272829303132
我們需要到WebViewClient的shouldOverrideUrl去攔截,并解析參數(shù),代碼如下
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String s) {
Uri uri = Uri.parse(s);
Log.d(“test112”, s);
if(uri.getScheme().startsWith(“jsbridge”)) {
String arg1 = uri.getQueryParameter(“arg1”);
String arg2 = uri.getQueryParameter(“arg2”);
String s1 = “JS調(diào)用Native,參數(shù)1:”+arg1+“參數(shù)2:”+arg2;
自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。
深知大多數(shù)前端工程師,想要提升技能,往往是自己摸索成長或者是報班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動則幾千的學(xué)費(fèi),著實壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!
因此收集整理了一份《2024年Web前端開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時減輕大家的負(fù)擔(dān)。
既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上前端開發(fā)知識點,真正體系化!
由于文件比較大,這里只是將部分目錄大綱截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且后續(xù)會持續(xù)更新
如果你覺得這些內(nèi)容對你有幫助,可以添加V獲?。簐ip1024c (備注前端)
React
介紹一下react React單項數(shù)據(jù)流 react生命周期函數(shù)和react組件的生命周期 react和Vue的原理,區(qū)別,亮點,作用 reactJs的組件交流 有了解過react的虛擬DOM嗎,虛擬DOM是怎么對比的呢 項目里用到了react,為什么要選擇react,react有哪些好處 怎么獲取真正的dom 選擇react的原因 react的生命周期函數(shù) setState之后的流程 react高階組件知道嗎? React的jsx,函數(shù)式編程 react的組件是通過什么去判斷是否刷新的 如何配置React-Router 路由的動態(tài)加載模塊 Redux中間件是什么東西,接受幾個參數(shù) redux請求中間件如何處理并發(fā)
CodeChina開源項目:【大廠前端面試題解析+核心總結(jié)學(xué)習(xí)筆記+真實項目實戰(zhàn)+最新講解視頻】
一個人可以走的很快,但一群人才能走的更遠(yuǎn)。如果你從事以下工作或?qū)σ韵赂信d趣,歡迎戳這里加入程序員的圈子,讓我們一起學(xué)習(xí)成長!
AI人工智能、Android移動開發(fā)、AIGC大模型、C C#、Go語言、Java、Linux運(yùn)維、云計算、MySQL、PMP、網(wǎng)絡(luò)安全、Python爬蟲、UE5、UI設(shè)計、Unity3D、Web前端開發(fā)、產(chǎn)品經(jīng)理、車載開發(fā)、大數(shù)據(jù)、鴻蒙、計算機(jī)網(wǎng)絡(luò)、嵌入式物聯(lián)網(wǎng)、軟件測試、數(shù)據(jù)結(jié)構(gòu)與算法、音視頻開發(fā)、Flutter、IOS開發(fā)、PHP開發(fā)、.NET、安卓逆向、云計算
起學(xué)習(xí)成長!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
AI人工智能、Android移動開發(fā)、AIGC大模型、C C#、Go語言、Java、Linux運(yùn)維、云計算、MySQL、PMP、網(wǎng)絡(luò)安全、Python爬蟲、UE5、UI設(shè)計、Unity3D、Web前端開發(fā)、產(chǎn)品經(jīng)理、車載開發(fā)、大數(shù)據(jù)、鴻蒙、計算機(jī)網(wǎng)絡(luò)、嵌入式物聯(lián)網(wǎng)、軟件測試、數(shù)據(jù)結(jié)構(gòu)與算法、音視頻開發(fā)、Flutter、IOS開發(fā)、PHP開發(fā)、.NET、安卓逆向、云計算
柚子快報邀請碼778899分享:前端 面試 交互 Title
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。