Android WebView中iframe上的getHitTestResult().getType()始终返回0
我试图覆盖当用户点击网络视图中的iframe链接时的行为,确切地说是DroidGap网络视图,以便在Android浏览器中打开该链接。我相信这样的代码应该足以实现:Android WebView中iframe上的getHitTestResult().getType()始终返回0,android,cordova,Android,Cordova,我试图覆盖当用户点击网络视图中的iframe链接时的行为,确切地说是DroidGap网络视图,以便在Android浏览器中打开该链接。我相信这样的代码应该足以实现: public void onLoadResource (WebView view, String url) { if (url.contains("foo")) { if(view.getHitTestResult().getType() > 0){ view.getContext().
public void onLoadResource (WebView view, String url) {
if (url.contains("foo")) {
if(view.getHitTestResult().getType() > 0){
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
view.stopLoading();
}
}
}
但是,每当我点击iframe中的任意位置时,HitTestResult类型始终为0,即未知。知道原因吗?我遇到了类似的问题,但在WebView.onLoadResource中,当收到onTouch事件时,我试图获取WebView.getHitTestResult。因为一些我仍然不知道的原因,它的类型是未知的。所以我试着在WebView.shouldOverrideUrlLoading方法中获取它,结果成功了。我不能给你一个理由。希望对你也有帮助!。非常感谢你的建议,埃琳娜。不幸的是,我试图捕获的特定事件发生在一个iframe中,并且没有为iframe调用WebView.shouldOverrideUrlLoading。我遇到了类似的问题,但在WebView.onLoadResource中,我在收到onTouch事件时试图获取WebView.getHitTestResult。因为一些我仍然不知道的原因,它的类型是未知的。所以我试着在WebView.shouldOverrideUrlLoading方法中获取它,结果成功了。我不能给你一个理由。希望对你也有帮助!。非常感谢你的建议,埃琳娜。不幸的是,我试图捕获的特定事件发生在iframe中,而iframe不调用WebView.shouldOverrideUrlLoading。