前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【专业技术】 浏览器中Webkit2的API介绍

【专业技术】 浏览器中Webkit2的API介绍

作者头像
程序员互动联盟
发布2018-03-12 16:39:38
7090
发布2018-03-12 16:39:38
举报

WebKit2提供稳定非阻塞式基于C的API,多数API对平台独立(agnostic)。为了获得非阻塞能力,Webkit2使用了一些技术,正式这些技术的使用,使得Webkit能给它的使用者带来大量的功能,这些技术包括:

  • 通知式的客户回调,例如didFinishLoadForFrame。这些类型的API通知使用者:发生了某件事,然而并不给他们机会去处理它。
  • 策略式的客户回调,例如decidePolicyForNavigationAction。这些类型的API允许使用者有空时才对某个动作做处理,同时通过监听器对象把发生了某个动作这件事告知页面。
  • 策略设置式,例如WKContextSetCacheModel, WKContextSetPopupPolicy。这些类型的API允许使用者选择预先定义的策略,不需要回调函数对UIProcess的参与。这些类型的API可能是一套枚举类型的特殊策略,或者是带通配符的字符串列表等。
  • 注入的代码,例如WebBundle。当所有其他选择都失败了,这些代码可以进入WebProcess进程。当访问DOM时,这特别有用。目前,这种API还处于计划当中,并没有实现。

主要的API:

WKContextRef

  • 封装了所有支持WebKit特殊用法的页面。此上下文的所有页面共享同一个“已访问链表”、local storage,preferences。

WKPageNamespaceRef

  • 封装所有能互相运行脚本的页面(Encapsulates all pages that can script each other.)

WKPageRef

  • Basic unit of browsing. Stays the same as the main frame changes.

WKView[Ref]

  • Native view that hooks into the platform's toolkit. On Windows, this wraps a HWND. On the Mac, it inherits from NSView.

注意:此需求要求完全非阻塞式,这与之前的Webkit API并不一致。许多存在的Webkit API都不能以非阻塞式来实现。因此,我们需要Webkit2,我们也会利用此机会清理、简化那些API。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档