如何获得当前页面的webviewid

如何获得当前页面的webviewid,第1张

现在窗口代码中获取WebView对象,WebViewmyWeb=(WebView)findViewById(RidmyWeb);再使用getUrl()方法获取当前网址myWebgetUrl();

最近遇到关于获取webview加载网页上的点击事件,三种解决方式~~~

一、跟后台协商好,点击该按钮加载特定url,通过webview的代理方法- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType 判断加载的url是否是协商好的url;

ps:记得要return NO,否则会加载url

二、通过获取所点击按钮的来判断是否点击特定位置

1、给webview的scrollview添加手势

2、实现UIGestureRecognizerDelegate代理方法

documentelementFromPoint 是获取点击坐标的元素

三、通过注入一段JS(需跟web前端协商),返回一段json数据

1、在webview加载完后注入js(具体根据需求定义)

例子:

2、拦截自定义的字段 kqapp://

LZ你好

之所以不能返回是因为返回键的时候系统当做整个activity,而不是webview的历史页面

也就是说你必须消费掉back事件。

你可以覆盖activity中的方法

public

boolean

onKeyDown(int

keyCode,

KeyEvent

event)

{

if

((keyCode

==

KeyEventKEYCODE_BACK)

&&

mWebViewcanGoBack())

{

mWebViewgoBack();

return

true;

}

return

superonKeyDown(keyCode,

event);

}

这样就行,另外再提醒一点,如果在webview中点连接,默认的是会调用系统的浏览器

所以还需

mWebViewsetWebViewClient(new

WebViewClient(){

public

boolean

shouldOverrideUrlLoading(WebView

view,

String

url)

{

viewloadUrl(url);

return

true;

}

});

这样就能保证在webview中跳转

如果是捕获通过>

如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。给WebView加一个事件监听对象(WebViewClient)并重写其中的一些方法:shouldOverrideUrlLoading:对网页中超链接按钮的响应。当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url。

webViewsetWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

viewloadUrl(url); //在当前的webview中跳转到新的url

return true;

}

});

以上就是关于如何获得当前页面的webviewid全部的内容,包括:如何获得当前页面的webviewid、webview获取网页点击事件、Android WebView怎么获取html iframe内部链接错误等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9733251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存