safe-java-js-webview-bridge icon indicating copy to clipboard operation
safe-java-js-webview-bridge copied to clipboard

请教一个问题

Open liatsineam opened this issue 11 years ago • 1 comments

您好,能请教一下,你的这种实现方式比在shouldOverrideUrlLoading拦截js再去处理的优势在哪儿吗

liatsineam avatar Dec 02 '14 11:12 liatsineam

首先表明立场,不建议在shouldOverrideUrlLoading上去做层协议来发起js调用,暂时能想到的原因有:

  • 试想一下页面端如果要任何时候发起调用,都必须"模拟"一个链接跳转事件而java端才能收到通知。这样的模拟在页面端比较耗时(我曾经做webapp时尝试过)。
  • 另外,页面端一般是同步调用执行java方法,执行完成后有时需要返回各个类型的结果,而在shouldOverrideUrlLoading中不能做到多种类型的结果的【同步】返回。
  • 还有种情况,假设页面存在一个正常链接在需要点击完成reload的同时又需要调用java方法怎么办,这两处都会执行都会跑到shouldOverrideUrlLoading中来,使其内部又掺杂业务又掺杂js调用框架,本质上更复杂难以维护。

综合上面对比下safe-java-js-webview-bridge原理就知道优势了。

欢迎探讨补充。。。

pedant avatar Dec 02 '14 12:12 pedant