如何从IOS中的 webkit 控件获取整个HTML源代码。
HTML源代码包含将要执行的javascript代码。所以只有在它执行后才需要获取html代码。
对于ex:在下面的Html代码中,有一个使用json类型创建的脚本标记。因此需要创建此脚本,然后才需要获取html源代码。
<html>
<head>
<title>Test</title>
</head>
<body>
<span>Hello my html sample page</span>
<div>
<script>
var entryTags = "apple, orange, mango, banana";
var inTime = 10;
var outTime = 40;
var etag = document.createElement('script');
etag.type = 'application/json';
etag.text = JSON.stringify({
"author": "Clarke",
"category": ["apple"],
"name": "Some sample application",
"keywords": entryTags.split(","),
"datePublished": "2010-05-31",
"inTime": ('PT' + inTime + 'M'),
"outTime": ('PT' + outTime + 'M'),
});
document.querySelector('body').appendChild(etag);
</script>
</div>
</body>
</html>
下面显示的当前IOS代码无法获取它以寻找解决方案。
- (void)fetchHtmlContent {
NSURL *TheUrl = [NSURL URLWithString:@“https://jstesting.azurewebsites.net“];
[self.htmlView loadRequest: [NSURLRequest requestWithURL:TheUrl]];
[self.htmlView evaluateJavaScript:@“document.documentElement.outerHTML” completionHandler:^(id result, NSError *error) {
if (error == nil)
{
if (result != nil)
{
NSLog(@“result: %@“, result);
}
}
else
{
NSLog(@“evaluateJavaScript error : %@“, error.localizedDescription);
}
}];
}
在evaluateJavaScript
中使用以下粗体字符串进行尝试。以下是结果。
document.documentElement.outerHTML - 不提供正文内容
document.body.innerHTML - 不显示任何内容
document.body.outerHTML - <body></body>
但实际上我需要html源代码。