如何从IOS中的webkit控件获取整个HTML源代码

时间:2018-04-27 17:36:59

标签: javascript ios iphone

如何从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源代码。

0 个答案:

没有答案