gpt4 book ai didi

javascript - 获取UIWebView当前的html内容?

转载 作者:行者123 更新时间:2023-11-28 09:13:54 25 4
gpt4 key购买 nike

我使用 UIWebViewloadRequest 方法从 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"]'))"];

然后,您可以在 native 代码中解析它,如果它有效,它应该以字符串的 NSArray 形式出现。

关于javascript - 获取UIWebView当前的html内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923635/

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