(IOS)UIWebView和JavaScript之间是怎么交互的?

如题所述

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。
温馨提示:答案为网友推荐,仅供参考