UIWebViewæ¯iOS SDKä¸æ¸²æç½é¢çæ§ä»¶ï¼å¨æ¾ç¤ºç½é¡µçæ¶åï¼å¯ä»¥hackç½é¡µç¶åæ¾ç¤ºæ³æ¾ç¤ºçå
容ãå
¶ä¸å°±è¦ç¨è³JavaScriptçç¥è¯ï¼èUIWebViewä¸javascript交äºç æ¹æ³å°±æ¯stringByEvaluatingJavaScriptFromString,æäºè¿ä¸ªæ¹æ³å¯ä»¥éè¿objcè°ç¨ javascript,å¯ä»¥æ³¨å
¥ javascript
Jsè°ç¨ãCæ¹æ³åçå°±æ¯å©ç¨UIWebViewéå®å请æ±ï¼ä¼ ä¸äºå½ä»¤å°æ们ç UIWebView,å¨UIWebViewçdelegateçæ¹æ³ä¸æ¥æ¶è¿äºå½ä»¤ï¼å¹¶æ ¹æ®å½ä»¤æ§è¡ç¸åºçobjc æ¹æ³ãè¿æ ·å°±ç¸å½äºå¨javascriptä¸è°ç¨objcçæ¹æ³ã
æ©å±ï¼ å¨androidä¸ï¼æåºæç»ä»¶webview,ç»è¿è®¾ç½®å¯ä»¥è®©å®æ¯ææ们çjsç渲æï¼ç¶åå¨ä»£ç ä¸è®¾ç½®ï¼WebViewClient/WebChromeClient)让åºç¨è·³è½¬é¡µé¢æ¶å¨æ¬webviewä¸è·³ 转ï¼éè¿webview.loadurl (String str)æ¹æ³å¯ä»¥å¨éè¦çå°æ¹å è½½æ们å端ç页é¢æè
è°ç¨ å端æå®ä¹çæ¹æ³ï¼wv.loadUrl(âjavascript:sendDataToAndroid(âææ¯jsï¼è½çå°åâ)â);ï¼ï¼åéè¿JavascriptInterfaceæ¥å£è®¾ç½®å端åandroidé讯çæ è¯ï¼
wv.addJavascriptInterface(new MJavascriptInterface(getApplicationContext()), âWebViewFuncâ);
è¿æ ·å端就å¯ä»¥å¨é¡µé¢ä¸è°ç¨æ们çæ¹æ³äºï¼funlæ¹æ³æ¯å¨androidä¸å®ä¹ç Window.WebViewFunc.fun1 ();
æ»ä¹ï¼å端åandroidæè
iosè¿è¡ç»åå¼åï¼è¢«ç§°ä¹ä¸ºæ··åå¼åï¼åçå°±æ¯å¨åççå¼åè¯è¨ä¸ï¼æä¾äºä¸ä¸ªç»ä»¶webviewï¼è¿ä¸ªç»ä»¶å°±æ¯åçè¯è¨çæµè§å¨ï¼ä½æ¯å¾èªè¡è®¾ç½®è®©å
¶è½å¤å®ç¾æ¯ææ们çåºç¨ï¼éè¦è®¾ç½®å¯¹åºçæ è¯ï¼ç¶åè¿æ¥èµ·æ¥ï¼ç§°ä¹ä¸º JavascriptInterfacã
温馨提示:答案为网友推荐,仅供参考