UIWebview 如何在 iOS 中进行渲染?
Posted
技术标签:
【中文标题】UIWebview 如何在 iOS 中进行渲染?【英文标题】:How does UIWebview do its rendering in iOS? 【发布时间】:2011-09-23 09:24:33 【问题描述】:我一直在使用UIWebView
渲染文件格式,例如 Keynote、Pages、Numbers、PPT 等。另外,我尝试通过stringByEvaluatingjavascriptFromString:
访问各种文档属性,例如标题、宽度、高度、innerhtml 等. 和 web 视图返回这些的有效值。
所以,我的问题是,UIWebView 实际上是如何工作的?它会在渲染之前将所有内容都转换为 HTML 吗?非html文件如何返回innerHTML等属性?
【问题讨论】:
你看过开源部分(WebKit)吗? 谢谢大卫!这是一个很好的建议。我去看看。 【参考方案1】:Apple 将大多数格式转换为 HTM 会很疯狂。
【讨论】:
谢谢!那么对于PPT文件,它是如何返回innerHTML等属性的呢?它具有完全有效的 div、paras 等。为其他文件类型生成 HTML 代码应该同样乏味。 谢谢!但是我的问题仍然成立。我也有和你一样的疑惑。 我在撰写本文时不知道,但这个答案目前已经过时(现在是错误的),请参阅:***.com/questions/15971969/… 了解最新信息【参考方案2】:您列出的各种格式很可能是由 Webkit 插件呈现的。
查看http://developer.apple.com/library/mac/#documentation/InternetWeb/Conceptual/WebKit_PluginProgTopic/WebKitPluginTopics.html 的文档。还可以编写插件以允许从脚本环境调用 Objective-C 方法。这可能会允许返回诸如 innerHTML 之类的属性。
我实际上并没有开发任何这些插件,但它似乎允许 UIWebView 扩展为呈现格式,如 PPT 并公开属性。基于此,我不认为内容正在转换为 HTML,而是自定义绘制,但通过插件公开了宽度、高度等属性。
【讨论】:
以上是关于UIWebview 如何在 iOS 中进行渲染?的主要内容,如果未能解决你的问题,请参考以下文章