首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用WebView来检测动态html更新?

如何使用WebView来检测动态html更新?
EN

Stack Overflow用户
提问于 2011-08-22 13:18:33
回答 2查看 715关注 0票数 2

尝试监视和控制一些投影仪,每个投影仪都有内置的web服务器。投影仪的状态通过javascript动态更新到页面。

我设法检索到了html,并使用WebView对象将重点放在了我正在寻找的状态上。但是,当状态发生变化时,我需要刷新我的值,但是我似乎找不到任何可以检测到这种变化的事件。

例如,当我第一次访问power on/off状态时,它显示为Unknown,直到- (void)webView:(WebView *)sender:(WebFrame *)frame事件后几秒钟才会更新为on/off。

我可以设置一个计时器来轮询这些值,但我更愿意让它由某种事件触发(或者观察任何值的变化)。有这样的事件吗?我查了一下WebView和WebFrame,但似乎什么也没找到。

或者有没有办法观察javascript变量?我要查找的值存储在javascript变量中。

或者有没有其他方法可以做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-22 18:00:49

如果您不能控制JavaScript,我怀疑您是否能引发一个事件来响应AJAX调用。我猜您必须使用NSTimer scheduledTimerWithTimeInterval:定期查找更改。例如,要获取varName的值,请运行以下命令:

代码语言:javascript
运行
复制
NSString *value = [webView stringByEvaluatingJavaScriptFromString:@"varName"];
票数 0
EN

Stack Overflow用户

发布于 2011-08-22 18:06:31

如果您可以找到任何JS钩子/ dom事件,当您的内容更改时,您可以从JS打开一个带有自定义方案(例如"refresh:// content ")的URL,并实现可以在其中检查方案的webView:shouldStartLoadWithRequest:navigationType:

如果您找不到任何合适的事件,那么您应该通过[webView stringByEvaluatingJavaScriptFromString:@"js_variable_name"]每隔5-10秒轮询一次JS变量值

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7143444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档