首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取UIWebView的当前html内容?

获取UIWebView的当前html内容?
EN

Stack Overflow用户
提问于 2013-04-10 18:44:43
回答 1查看 1.1K关注 0票数 1

我使用UIWebViewloadRequest方法从NSBundle加载了一个html模板。html模板本身有大量的文本框(比如20个)。在我填充完所有的文本框之后,我想要用这些填充值来填充html。

代码语言:javascript
复制
[myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]
//even body.outerHTML, documentElement.innerHTML won't work

但是在填充这些值之前,它给了我原始的html模板。我该怎么做呢?我想这样做,通过读取每个文本框的内容,通过javascript,

代码语言:javascript
复制
[myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('name').value"]

然后读取并替换html的字符串。

有没有其他更好的方法来做到这一点?或者有没有什么javascript方法来读取网页的当前内容?

EN

回答 1

Stack Overflow用户

发布于 2013-04-11 17:40:56

您完全正确,.innerHTML.outerHTML不会给您提供DOM的更新状态。

但是,由于您已经开始使用Javascript进行查询,因此可以创建一个JSON字符串,其中包含当前输入的所有值的列表:

代码语言:javascript
复制
NSString *jsonString = [myWebView stringByEvaluatingJavaScriptFromString:@"(function(fields) { var O=[]; for(var i=0; i<fields.length;i++) {O.push(fields[i].value);} return JSON.stringify(O); })(document.querySelectorAll('input[type="text"]'))"];

然后你可以在你的原生代码中解析它,如果它起作用了,它应该是一个字符串的NSArray

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

https://stackoverflow.com/questions/15923635

复制
相关文章

相似问题

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