iOS中UIWebview如何进行渲染?

3
我一直在使用 UIWebView 来呈现 Keynote、Pages、Numbers、PPT 等文件格式。同时,我尝试通过 stringByEvaluatingJavaScriptFromString: 访问各种文档属性,如标题、宽度、高度、innerHTML 等等,网页视图会为这些属性返回有效值。
所以,我的问题是,UIWebView 是如何工作的?它是否在渲染之前将所有内容转换为 HTML?它如何为非 HTML 文件返回 innerHTML 等属性?

你看过开源部分(WebKit)了吗? - David Dunham
谢谢David!这是一个好建议。我会看一下的。 - Akshay
2个回答

2

苹果公司将大多数格式转换为HTML格式是不可行的。


谢谢!那么它如何返回像PPT文件的innerHTML这样的属性呢?它有完全有效的divs、paras等。为其他文件类型生成HTML代码同样繁琐。 - Akshay
谢谢!但是我的问题仍然存在。我也和你一样有同样的疑虑。 - Akshay
我不知道写作时的情况,但是这个答案目前已经过时(并且现在是错误的),请参见:https://dev59.com/yXDYa4cB1Zd3GeqPE9yg 获取最新信息。 - Rick77

2
你列出的各种格式很可能是由Webkit插件渲染的。请查看文档:http://developer.apple.com/library/mac/#documentation/InternetWeb/Conceptual/WebKit_PluginProgTopic/WebKitPluginTopics.html。插件还可以编写,以允许从脚本环境调用Objective-C方法。这可能允许返回innerHTML等属性。我实际上没有开发过这些插件,但它似乎允许扩展UIWebView以呈现PPT等格式,并公开属性。基于此,我不认为内容正在转换为HTML,而是自定义绘制,但通过插件公开属性,例如宽度,高度等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接