Javascript 是否获取UIWebView的当前html内容?

Javascript 是否获取UIWebView的当前html内容?,javascript,ios,uiwebview,Javascript,Ios,Uiwebview,我使用UIWebView的loadRequest方法从NSBundle加载html模板。html模板本身有大量的文本框(比如20个)。在我填充所有文本框之后,我希望html中包含这些填充值。我试过了 [myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"] //even body.outerHTML, documentElement.innerHTML won't work 但它在填充这些值之前给

我使用
UIWebView
loadRequest
方法从
NSBundle
加载html模板。html模板本身有大量的文本框(比如20个)。在我填充所有文本框之后,我希望html中包含这些填充值。我试过了

[myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]
//even body.outerHTML, documentElement.innerHTML won't work
但它在填充这些值之前给了我原始的html模板。我怎么做? 我想这样做,通过读取每个文本框的内容,通过javascript

[myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('name').value"]
然后读取并替换html的字符串


还有其他更好的方法吗?或者是否有任何javascript方法来读取网页的当前内容?

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

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

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"]'))"];
NSString*jsonString=[myWebView stringByEvaluatingJavaScriptFromString:@](函数(字段){var O=[];for(var i=0;i