WebKit介绍——Objective-C编程指南

来源:互联网 发布:eve四种泰坦数据 编辑:程序博客网 时间:2024/05/19 20:38

一致性注释: WebKit框架不是线程安全的。如果你调用框架里的函数或方法,,你必须在主程序线程中专门这样做。  

什么是WebKit?

 

WebKit提供了一系列核心类在窗口中展现网络内容,并且,实现了诸如追踪用户点击过的链接等特性。WebKit极大简化了复杂的加载网页的过程——也就是说, 通过网络异步地 从一个HTTP服务器请求网络内容,并且响应可能逐渐到达随机地或者部分由于网络错误。WebKit也简化了展现包含各种各样的MIME类型的内容以及多个拥有它们自己的滚动条的框架。

你可以使用WebKit在你的应用程序的窗口里展现网络内容。这简单到创建一个 view, 把它放在一个窗口然后发送一个URL家在请求的消息 通常情况下,你的WebKit应用程序将如你所愿不发生错误。WebKit方便地创建和管理所有的处理不同MIME类型的views 。当用户点击一张页面里的链接时,WebKit自动创建展现下一张页面所需的views  尽管如此,WebKit没有实现一个完整的网络浏览器特性。但是,你可以通过实现custom delegateviewmodel对象来扩展WebKit。例如,你可以实现一个 delegate 来展现加载状态和当前的URL

WebKit也提供网络内容编辑。如果你在WebView里使能了编辑功能,用户可以编辑它展现的网络内容。你可以用程序控制当前的选择并且通过使用一个WebView delegate 控制编辑行为。你也可以通过使用Objective-CAPI直接修改Document Object Model 

你可以从 Objective-C获取JavaScript,反之亦然。

谁应该阅读本文档?

 

WebKit Objective-C API专门设计用来嵌入网络内容到你的Cocoa or Carbon 应用程序——开发网络客户端应用程序,而不是网络服务器应用程序或网络内容。它也不适合实现非GUI应用程序,例如网络爬虫。如果你是一位网络内容创作者或JavaScript程序员,请参考WebKit DOM 编程主题。

 

提示: 当前,这些API只在Objective-C里可用。一个最小的C API 也被提供用来嵌入网络浏览器views Carbon 应用程序中。你可以一起使用 Objective-CCWebKit可以在安装了Safari 1.0的所有的Mac OS X 10.2版本上运行。 

本文档的结构

 

下面的文章涉及了理解WebKit如何运行的关键概念:

  • “为什么使用WebKit 描述了WebKit的目的以及为什么你可能想在你的应用程序中使用它。

  • “Core WebKit Classes” describes the core WebKit classes and the object-oriented design that is fundamental to understanding how the WebKit works.

 

下面的文章说明了如何在views中展现网络内容:

  • “简单浏览” 展示了如何通过遵循一些简单的步骤来嵌入网络内容到你的应用程序中。

    “多窗口” 展示了如何添加对多窗口的支持以及如何自动打开窗口。

    “加载页面” 展示了如何跟踪加载框架内容的过程。

    “加载资源” 展示了如何跟踪一张页面中加载独立资源的过程。

  • “页面后退与前进” 展示了如何实现一个后退-前进列表以及如何添加后退与前进按钮到你的应用程序中。

  • “管理历史” 展示了如何维护所有访问过的页面的历史以及如何允许用户跳转到曾经访问过的页面。

  •   

    “电子欺骗” 展示了如何使用user-agent字符串。

    “从Carbon应用程序中获取WebKit 描述了如何嵌入网络内容到Carbon应用程序中。

    “检测WebKit的可获取性 描述了如何检测在你的系统中是否可以获取到WebKit

    下面的文章描述了如何实现网络内容编辑:

    “打开编辑” 展示了如何在一个WebView中打开用户编辑。

    “保存和加载网络内容” 展示了如何保存和加载用户编辑的网络内容。

    “修改当前选择” 展示了如何从程序的角度修改当前的选择。

    “改变编辑行为” 描述了如何使用WebView 编辑代理来定制编辑行为。

    “编辑时使用撤销 展示了如何实现编辑网络内容时的撤销。

    下面的文章描述了如何使用Document Object ModelObjective-C API:

    “在Objective-C中使用Document Object Model  就规范而言描述了DOM Objective-C API 

    “使用Document Object Model扩展” 描述了WebKit DOM API的扩展。

    如果你想要从你的应用程序中获取JavaScript阅读这些文章:

    “在Objective-C中使用JavaScript  展示了在一个Objective-C 应用程序中如何获取脚本环境。

    你通过第一次嵌入网络内容到 你的应用程序中开始使用WebKit 阅读 “简单浏览,” 以及可选的 “加载页面” “加载资源” 来嵌入网络内容。如果你想添加更多的类浏览器特性或者实现一个定制的用户接口, 首先阅读“核心WebKit 类” 以及其他任何基于你的应用程序需求的文章。如果你想编辑网络内容, 阅读“打开编辑。”

    另见

    更多的关于Objective-C WebKit API的细节,阅读:

    WebKit Objective-C 框架参

    WebKit 插件编程话

    WebKit DOM 编程话

    还有一些这些话题中没有涉及的技术可以和WebKit一起使用或者单独地来解决相关的问题。

    参考这篇文档获取关于URL加载系统的更多细节:

    URL 加载系统编程指南

    如果你要在一个Carbon 应用程序中获取WebKit,参考这些文档:

    WebKit C 参

    Carbon-Cocoa 集成指南

    如果你正在为Safari 或者Dashboard创建网络内容,参考这些文档:

    WebKit DOM 编程主

    WebKit DOM 参考

    Dashboard 教程

    Dashboard 参

    /Developer/Examples/WebKit 文件夹也包含更多深入的代码示例。

    其他相关的文本书籍资源如下:

    HTML and XHTML:权威指南 (OReilly)

    Cascading Style Sheets:权威指南 (OReilly)

    JavaScript:权威指南 (OReilly)

    还可以在 www.w3.org网站上参考World Wide Web 联合会的最新的关于网络标准的信息。

Next



© 2003, 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-07-28)

Did this document help you? Yes It's good, but... Not helpful...

Shop the Apple Online Store (1-800-MY-APPLE), visit an Apple Retail Store, or find a reseller.

  • Mailing Lists
  • RSS Feeds

Copyright © 2010 Apple Inc. All rights reserved.

  • Terms of Use
  • Privacy Policy


原文链接:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DisplayWebContent/DisplayWebContent