ios - 如何获取在 UIWebView 中显示的 HTML 页面的标题?

我需要从 UIWebView 中显示的 HTML 页面中提取标题标签的内容。这样做最可靠的方法是什么?

我知道我能做到:

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

但是,这仅在启用 javascript 时有效。

或者,我可以只扫描标题的 HTML 代码文本,但这感觉有点麻烦,如果页面的作者对他们的代码感到奇怪,可能会变得脆弱。如果涉及到这一点,在 iPhone API 中处理 html 文本的最佳方法是什么?

我觉得我忘记了一些明显的事情。有比这两种选择更好的方法吗?

更新:

根据这个问题的答案:UIWebView: Can You Disable Javascript?似乎没有办法在 UIWebView 中关闭 Javascript。因此,上面的 Javascript 方法将始终有效。

最佳答案

对于那些只是向下滚动以找到答案的人:

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

这将始终有效,因为无法在 UIWebView 中关闭 Javascript。

https://stackoverflow.com/questions/2275876/

相关文章:

objective-c - 在 Cocoa 中生成一个随机的字母数字字符串

objective-c - 为什么 NSInteger 变量在用作格式参数时必须转换为 long?

iphone - Objective-C 的 JSON 解析器比较(JSON 框架、YAJL、Tou

ios - 属性 "Nonatomic"是什么意思?

objective-c - 从 UIColor 获得稍微更亮和更暗的颜色

iphone - 指定的权利...配置文件。 (0xE8008016)。错误 iOS 4.2

ios - 如何将我的设备 token (NSData) 转换为 NSString?

objective-c - 我如何判断一个对象是否附加了键值观察器

ios - UILabel - 自动调整大小标签以适合文本?

iphone - UIWebView背景设置为Clear Color,但不透明