UIWebView stringByEvaluatingJavaScriptFromString

2023-11-26

我一直致力于让一些非常基本的 JS 在我的 UIWebView 中运行。在网络视图的委托中,我有:

- (void)webViewDidFinishLoad:(UIWebView *)wView {
    NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0]"];   
    NSString *allHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
    NSLog(@"someHTML: %@", someHTML);
    NSLog(@"allHTML: %@", allHTML);
}

但是当调用该方法时,someHTML 为零,而 allHTML 包含 web 视图中 HTML 的整个正文。

我已经在 Safari JS 控制台中运行了 JS,它工作得很好(它找到了类“box”的 div,所以我知道它在 HTML 中)

有什么建议么?

更多信息:

FWIW,以下每个结果也为零

NSString *result = [self.webView stringByEvaluatingJavaScriptFromString: @"document"];
NSLog (@"1. result: %@", result); //should log the document object?

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body"];
NSLog (@"2. result: %@", result); //should log the document body

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName"];
NSLog (@"3. result: %@", result); //should log a function

result = [self.webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName('box')[0]"];
NSLog (@"4. result: %@", result); //should log the node

Changing

NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0]"];   

to

NSString *someHTML = [wView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('box')[0].innerHTML;"];   

(添加了.innerHTML)

使世界变得不同。 。 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIWebView stringByEvaluatingJavaScriptFromString 的相关文章

随机推荐

  • 如何从 C 程序检查分叉进程是否仍在运行

    我有一个分叉进程的 pid 现在 从我的 C 代码 在 Linux 上运行 中 我必须定期检查该进程是否仍在运行或终止 我不想使用像这样的阻塞调用wait or waitpid 需要 最好 一个非阻塞系统调用 它只会检查这个 pid 是否仍
  • 与面向对象设计相关的组合是什么?

    我听到 并在这个网站上读到 很多关于 优先组合胜过继承 的内容 但什么是组合呢 我从人 哺乳动物 动物的角度理解继承 但我在任何地方都看不到组合的定义 有人可以补充我吗 组合是指将简单类型组合成更复杂的类型 在您的示例中 组合可以是 Ani
  • 用户定义的支持加法的int类

    我想创建一个类来包装int并允许一些通常不允许的事情int类型 这是我的代码 class tInt int def add self other if type other str return str self str other eli
  • 使用 \==/2 或 diff/2

    如果我想确保两个变量不会实例化为同一个术语 首选的方法是什么 假设我需要在图中找到有向边 并且节点本身不能有边 node a x y node b z x node c y y 这里的边是 a gt c b gt a 但是notc gt c
  • 将 UIView 从底部移动到顶部

    如何在代码中将视图从底部移动到顶部 colorView hidden NO colorView UIView alloc init colorView frame CGRectMake 0 480 320 480 colorView bou
  • 从 Python 调用 PHP

    是否可以使用 python 运行 PHP 脚本 您可以查看subprocess类 更具体地说 subprocess call subprocess call popenargs kwargs subprocess call php path
  • Moq DbSet NotImplementedException

    我有一个 Moq DbSet 直到最近一直在工作 但是自从上次更新依赖项以来 它一直抛出NotImplementedException on IQueryable Provider 使用的代码如下 var mockSet new Mock
  • 如何使用Application Verifier查找内存泄漏

    我想使用标准实用程序查找应用程序中的内存泄漏 以前我使用自己的内存分配器 但其他人 是的 你 AlienFluid 建议使用微软的应用程序验证器 但我似乎无法让它报告我的泄漏 我有以下简单的应用程序 include
  • 输入/输出流:流结束?

    我一直想知道 流的结尾是什么 在 java io 包中大多数 readLine 方法的 javadoc 中 您可以读到 如果到达流末尾 则返回 null 尽管我实际上从未得到 null 因为大多数流 在网络的情况下 我最常使用的流 只是阻止
  • DOM 改变元素内容

    如何使用 PHP DOM 函数更改元素内容 深入 我已经查询了我的元素 修改了属性 现在想要更改它的内容 我该怎么做 Set the nodeValue属性如果你想设置元素的文本内容 el dom gt getElementById foo
  • 非词法生命周期借用检查器会提前释放锁吗?

    我读了什么是非词汇生命周期 使用非词法借用检查器 可以编译以下代码 fn main let mut scores vec 1 2 3 let score scores 0 borrows scores but never used its
  • 将 pandas 数据框中的浮点数转换为字符串

    我在 pandas 中有一个包含日期时间和浮点数据的数据框 time price1 price2 2018 02 01T00 00 00 000Z 1 4526547885 1 654775563 我需要将列转换为字符串格式 以便price
  • 如何在 Perl 中进行 64 位算术?

    我是一个 Perl 新手 我可以在 Perl 中简单地使用 64 位算术吗 例如 operand1 0xFFFFFFFFFFFF 48 bit value operand2 0xFFFFFFFFFFFF 48 bit value Resul
  • 删除powershell中的子目录,包括符号链接

    目前遇到问题 我目前正在这样做 Get ChildItem PATH Recurse ErrorAction SilentlyContinue Where Object Attributes notmatch Directory and L
  • 使用 lambda 而不是字符串属性名称选择模型属性

    我正在构建一个类型的属性列表 以包含在该类型的集合的导出中 我想在不使用属性名称字符串的情况下执行此操作 列表中仅包含该类型的某些属性 我想做这样的事情 exportPropertyList
  • Go - HTML 注释未呈现

    我正在构建 Go Web 应用程序 我在渲染的 html 页面上发现了一些异常 我所有的 html 评论突然没有被渲染 我猜是因为我使用的go版本 刚刚更新到更高版本 因为在我更新之前它是好的 这是我的代码 ul class breadcr
  • Java 8、类型注释和 JSR 308

    我已经安装了最新的 JDK 8 b116 但我注意到我无法使用类型注释 例如 阅读 Java 教程 如果我写 String str null String myString NonNull String str or TEST st new
  • 如何在c#中检索字符串formData js

    我必须在 net 的 Web api 中检索 idPerson 的值 我已经检索到文件 UploadedImage 但我无法检索 idPerson 的值 有人有解决办法吗 Thx 我的js函数 Upload de l image de pr
  • 零长度位域的实际使用

    我对 C 不太确定 但 C 允许长度为 0 的未命名位字段 例如 struct X int 0 问题一 这个可以有什么实际用途you考虑到 问题二 您知道哪些实际用途 如果有 Edited 您使用零长度位字段作为一种黑客方法 让编译器布局一
  • UIWebView stringByEvaluatingJavaScriptFromString

    我一直致力于让一些非常基本的 JS 在我的 UIWebView 中运行 在网络视图的委托中 我有 void webViewDidFinishLoad UIWebView wView NSString someHTML wView strin