我一直在使用 UIWebView
来渲染文件格式,如Keynote、Pages、Numbers、PPT等。此外,我还尝试通过以下方式访问各种文档属性 stringByEvaluatingJavaScriptFromString:
如title、width、height、innerHTML等,web view会返回这些的有效值。
那么,我的问题是,UIWebView到底是如何工作的?它是否会在渲染前把所有的东西都转换为HTML?它是如何返回非html文件的innerHTML等属性的?
苹果公司要把大部分格式转换成HTM,那就太疯狂了。
你列出的各种格式很可能是由Webkit插件渲染的。
请查看以下文档 http:/developer.apple.comlibrarymac#documentationInternetWebConceptualWebKit_PluginProgTopicWebKitPluginTopics.html。. 也可以编写插件,允许从脚本环境中调用Objective-C方法。这有可能允许返回诸如innerHTML这样的属性。
我没有实际开发过这些插件,但它似乎允许UIWebView扩展到渲染格式,如PPT,也允许暴露属性。基于此,我不相信内容被转换为HTML,而是自定义绘制,但通过插件暴露了宽度、高度等属性。