2010-09-09 63 views

回答

0

有一种方法可以做到这一点,但它并不漂亮。

UIWebView允许您运行任意的javascript,例如[webview stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"]。因此,当用户点击videoElement时,您可以使用JavaScript运行设置特定元素的innerHTML,您可以从该函数中获取该元素。

但是,您如何知道何时在Objective-C上运行此功能?那么,有两种选择。首先(虽然我不会建议它,因为它会很慢),您可以设置一个轮询功能,每隔一段时间运行一次以检查功能的值。第二个选项,我认为它可能是最好的选择,实际上是将WebView的子类别用于观察WebView的触摸。所以,你可以覆盖以下功能:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    [super touchesEnded:touches withEvent:event]; 
    NSString *string = [self stringByEvaluatingJavascriptFromString:@"document.getElementById('videoTapped').innerHTML"] 
    if ([string isEqual:@"Something"]) { 
     // do something here 
    } 
} 
0

设置您的视频元素加载特定的URL挖掘时(使用onclick或只是一个普通的锚),然后实现在您的WebView delegate-webView:shouldStartLoadWithRequest:navigationType:回调观看该网址。