首先说一下本人遇到的事,我需要在android的WebView 里面打开html网页,网页里面是有链接的,当用户长按链接的时候我需要拦截链接 并阻止打开,然后根据拦截下来的链接里面有我需要的文字在app里面打开相应的操作界面。
PS:我遇到的WebView shouldOverrideUrlLoading不执行 原因是因为我在js里面设置了计时器实现可以判断用户长按的功能(功能js贴在我博客里,需要的可以去复制粘贴即可使用),当android遇到html 的 js代码里面执行有计时器如:setTimeout就不会执行android WebView 里面的 shouldOverrideUrlLoading 。
好了,原因弄出来那么接下来就是如何彻底解决一劳永逸,本人尝试百度无数方法,什么onPageCommitVisible(包括onPage….任何方法),然而都没什么卵用,最终用了一个剑走偏方的方法。
解决思路:利用android WebView WebChromeClient 方法,该方法里面的onReceivedTitle每次HTML head title有变化都会执行。(当然可以是其他的,我只是拿title来举例)
下面是Html的title:
<head>
<title>这里每次变化都会执行上面的android WebView WebCh