我遇到了一个问题与onCreateWindow的Android WebView这是我的代码:
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
final WebView newWebView = new WebView(view.getContext());
Message href = view.getHandler().obtainMessage();
view.requestFocusNodeHref(href);
final String url = href.getData().getString("url");
final String title = href.getData().getString("title");
/*
Run Some Codes for sending data (url + title string)
*/
return false;
}
基本上,我想监听将在新窗口中打开的URL(目标="_blank”)。上面的代码在dom中使用标签时效果很好,但是对于由createElement(“a”)javascript代码创建的标签,并通过运行aTag.click()打开,则url变量总是返回null。可能是因为createElement本身没有将标记插入到html dom中,所以requestFocusNodeHref()没有找到任何a标记(它实际上并不存在于WebView对象中)。
是否有任何解决方案来捕获具有这种类型的标签的链接?
1条答案
按热度按时间zlhcx6iw1#
尝试像这样使用shouldoverideurlloading,所以只需要添加这个方法: