android webview & ios uiwebview和wkwebview的交互以及本地缓存
2017-02-07 21:48
736 查看
android webview
js调用java的方式
1.java通过注解@JavascriptInterface导出方法, js通过window.别名.方法名调用方法
2.拦截url方式,通过shouldOverrideUrlLoading实现
java调用js的方式
1.webview.loadUrl, 可以通过回调实现获取返回值
2.webview.evaluateJavascript 4.4及以上版本才能使用
3.通过反射实现stringByEvaluatingJavaScriptFromString方法
离线缓存
通过shouldInterceptRequest来实现
IOS UIWebview
js调用objc
1.拦截url方式,webview:shouldStartLoadWithRequest:navigationType
2.通过JavascriptCore实现
objc调用js
1.stringByEvaluatingJavaScriptFromString
2.JavaScriptCore
离线缓存
通过NSURLProtocol拦截请求
https://github.com/marcuswestin/WebViewProxy
https://developer.apple.com/library/content/samplecode/CustomHTTPProtocol/Introduction/Intro.html
http://draveness.me/intercept/
IOS WKWebview
js调用objc
1.拦截url方式,通过webview:decidePolicyForNavigationAction:decisionHandler实现
2.MessageHandler
objc调用js
1.evaluateJavaScript:completionHandler
离线缓存
通过NSURLProtocol拦截请求
https://github.com/yeatse/NSURLProtocol-WebKitSupport
其它
jsbridge和webviewjavascriptbridge本质上就是拦截url方式来实现的。
js调用java的方式
1.java通过注解@JavascriptInterface导出方法, js通过window.别名.方法名调用方法
2.拦截url方式,通过shouldOverrideUrlLoading实现
java调用js的方式
1.webview.loadUrl, 可以通过回调实现获取返回值
2.webview.evaluateJavascript 4.4及以上版本才能使用
3.通过反射实现stringByEvaluatingJavaScriptFromString方法
离线缓存
通过shouldInterceptRequest来实现
IOS UIWebview
js调用objc
1.拦截url方式,webview:shouldStartLoadWithRequest:navigationType
2.通过JavascriptCore实现
objc调用js
1.stringByEvaluatingJavaScriptFromString
2.JavaScriptCore
离线缓存
通过NSURLProtocol拦截请求
https://github.com/marcuswestin/WebViewProxy
https://developer.apple.com/library/content/samplecode/CustomHTTPProtocol/Introduction/Intro.html
http://draveness.me/intercept/
IOS WKWebview
js调用objc
1.拦截url方式,通过webview:decidePolicyForNavigationAction:decisionHandler实现
2.MessageHandler
objc调用js
1.evaluateJavaScript:completionHandler
离线缓存
通过NSURLProtocol拦截请求
https://github.com/yeatse/NSURLProtocol-WebKitSupport
其它
jsbridge和webviewjavascriptbridge本质上就是拦截url方式来实现的。
相关文章推荐
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(下)
- WKWebView和UIWebView加载本地html和JS交互各种坑解决办法
- Android和iOS关于WebView(UIWebView)缓存的看法
- IOS UIWebView转WKWebView中的js交互问题
- IOS中UIWebView、WKWebView之JS交互
- <android> webview与h5的交互——上传文件& 调起本地支付接口&响应原生dialog&back键层级返回
- js与oc交互以及cookie设置 UIWebView与WKWebview兼容
- iOS-WKWebView特性以及与JS交互的一些事
- Android的webview加载本地html、assert内html和网络URL&&& JS与移动端webview的相互交互
- js与oc交互以及cookie设置 UIWebView与WKWebview兼容
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(上)
- 浅谈iOS中WKWebView和UIWebView的清除缓存问题
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(中)
- android webview js交互 调取本地相册(兼容各个版本)并且上传到服务器端。
- UIWebView和WKWebView的使用及js交互
- iOS网络3—UIWebView与WKWebView使用详解
- UIWebView和WKWebView的使用及js交互
- UIWebView和WKWebView的使用及js交互
- Android WebView加载本地html并实现Java与JS交互
- iOS 8 WkWebView 网页的配置和前进,后退,js 交互和进度条的加载