gpt4 book ai didi

iphone - 在 iPhone 上的 UIWebView 中检测 HTML5

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:06 26 4
gpt4 key购买 nike

我希望能够检测 UIWebView 中标签上的触摸/点击事件。但它看起来并不像它响应该事件。有什么想法吗?

videoElement.addEventListener('touchstart', myFunc, false);

也可以是“点击”事件。

最佳答案

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

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

但是,您如何知道何时在 Objective-C 端运行此函数?那么,有两种选择。首先(虽然我不建议这样做,因为它会很慢),您可以设置一个每隔一段时间运行一次的轮询函数,以检查 stringByEvaluatingJavascriptFromString: 函数的值。第二种选择,我认为可能是最好的选择,实际上是将 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
}
}

关于iphone - 在 iPhone 上的 UIWebView 中检测 HTML5 <video> 上的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com