在项目中总少不了我们App和H5的加载和交互等操作,下面就总结下自己在这个过程中学到的相关东西吧,希望可以帮到有需要的小伙伴,同时理解和书写有误的地方也欢迎大家批评指正:
一、关于H5的加载方式:
1.(自己目前知道的)使用UIWebView加载一个H5链接(两种方式):
(1)、
第一种加载方式(2)、
第二种加载方式讲道理,这两种加载H5链接的方式都是可以的,但是由于可能某些网页链接不规范,会导致第一种方法不会执行webViewDidFinishLoad这个代理方法,但是第二种会执行。(亲测遇见这样的问题,改成第二种加载方式就秒解决了)。
2.在有些情况下,需要我们加载后台返回的带有p标签的网页内容,自己目前知道的也有两种加载方式:
(1)、
第一种加载方式该加载方式主要使用到了UITextView的attributedText属性,加载纯文字的p标签是可以的,加载图片的时候,如果图片宽度超过屏幕宽的话,会造成图片加载到一部分。
(2)、
第二种加载方式这种加载方式使用到了UIWebView,图片和文字都可以完美的加载,并且如果需要修改相关属性的话,也可以进行修改。
3.加载本地的html文件:
加载本地的html文件该加载方式根据路径寻找本地文件,用UIWebView加载本地的HTML文件。
二、关于H5和iOS的交互:
目前知道两种比较简单的方式,如果有大神知道更多更好的交互方式,欢迎指出。
1、
实现UIWebViewDelegate中的一个代理方法当我们点击H5需要交互的时候,此时该代理方法中会有一个url返回值,我们可以根据返回的url链接做H5和App的操作。
2、
该方法需要和H5商量好对接参数和方法个人认为该方法主要用于,类似一个H5页面有一个按钮,点击实现和App交互的场景。该方法需要和H5商量好对接参数和方法,如果在使用该方法的过程中,出现不能交互的情况,可以检查下方法名是否和参数名重复了。另外,在交互的过程中,如果涉及UI页面刷新的问题,一定要放在主线程执行,否则会Crash。
大致就先介绍这么多吧,后续的WKWebView加载交互,以及更多的加载交互方法再更新,同时理解和书写有误的地方也欢迎大家指出。
网友评论