从uiwebview以编程方式获取所选元素? [英] Getting selected elements programatically from uiwebview?

查看:140
本文介绍了从uiwebview以编程方式获取所选元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前我正在此示例网站和在我的网页浏览中显示。网页显示正确。

Currently I am taking this sample website and showing in my webview. The webpage is displaying correctly.

现在我试图找出用户点击uiwebview后选择了哪些数据。

Now I am trying to figure out which data is selected once the user has tapped on the uiwebview.

为此,我可以使用 UITapGestureRecognizer 获得点击CGPoint。

For this I am able to get the CGPoint for the tap by using UITapGestureRecognizer.

-(void)singleTap:(UIGestureRecognizer *)gestureRecognizer
{

CGPoint touchPoint = [gestureRecognizer locationInView:myWebView];

NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).toString()", touchPoint.x, touchPoint.y];

NSString * tagName = [myWebView stringByEvaluatingJavaScriptFromString:js];

NSLog(@"Selected Name: %@",tagName); 

}

// In log it is displaying [object SVGPathElement]

一旦用户在第一张图中选择垂直条,我想得到确切的数据
(例如1994/1995/1996)。

I want to get the exact data once user selects the vertical bar in first graph (E.g. 1994/1995/1996).

任何人都可以解释如何做到这一点吗?

Can any one explain how to do this?

推荐答案

你没有指定哪些不适合你..无论如何,有几点建议:

You don't specify what is that is not working for you... anyway, a couple of suggestions:


  1. 尝试点击处理程序中的以下js:

  1. try with the following js in your tap handler:

NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).innerHTML", touchPoint.x, touchPoint.y];


  • 创建点击手势处理程序时,为其指定一个委托(它可以是您的控制器) ):

  • when creating your tap gesture handler, specify a delegate for it (it can be your controller):

    tap1.delegate = self;
    


  • ,定义以下委托方法:

  • in your controller (or web view delegate), define the following delegate method:

    - (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:    (UIGestureRecognizer*)otherGestureRecognizer {
        return YES;
    }
    


  • 如果您使用的是iOS 5,请查看这篇文章关于中的小故障elementFromPoint

    通过这样做,我能够得到确切的结果所选对象的HTML值。

    By doing like this, I am able to get the exact HTML value for the selected object.

    这篇关于从uiwebview以编程方式获取所选元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆