我很早之前写过一篇android与h5交互的文章,浏览量也很多,但是昨天遇到了一个问题,h5那边我说调用他们的js方法,导致h5加载报错,看了一下我项目中是这么写的:
mwv_h5.loadUrl("javascript:viewDidDisappear()");
问题就是我在基类里面写了这个方法,当时调试的时候并没有什么问题,但是上线了发现,其他的页面都受到了影响,都疯狂报错,原因就是我调试的h5页面是有viewDidAppear()这个方法的,但是因为我是写在基类的,其他页面没有这个方法的时候,就会报错了,零时处理的方式是,h5那边对我调用的时候进行了判断。
但是我们本地也要优化一下,防止下次再出现这种问题,优化后的写法是:
mwv_h5.loadUrl("javascript:window.viewDidDisappear&&viewDidDisappear()");
这样写的话,在调用h5页面方法之前先判断了是否有这个方法,有的情况下再去调用,这样就不会出错。