从Obj-C与UIWebView中的HTML元素接口:如何获取、保留和使用引用



如果我有x,y坐标,我可以访问HTML元素的内容,如下所示:

    location = [aTouch locationInView:myWebView];
    NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).innerHTML", location.x, location.y];
    NSString *text = [myWebView stringByEvaluatingJavaScriptFromString:js];

然而,我无法保留以后访问它的参考:

    NSString *js2 = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f)", location.x, location.y];
    NSString *tagName = [myWebView stringByEvaluatingJavaScriptFromString:js2];

至少除非元素有名称,而且我不能控制HTML,所以我不能直接添加它。

有什么建议吗?

我认为您无法获得指向DOM元素或类似内容的指针。与HTML本身交互的唯一方法是使用Javascript API。

因此,您需要存储元素的ID/类名,或者每次使用DOM遍历都只查找它们。

我想我会在页面中注入一些Javascript来完成繁重的工作,并使用stringByEvaluatingJavaScriptFromString方法调用那个API。

最新更新