写点什么

何为 Web Intents 及其目前的实现状态

  • 2012-05-21
  • 本文字数:1221 字

    阅读完需:约 4 分钟

本文概要介绍了何为 Web Intents,为何说 Web Intents 是有用的。Google 在 Chrome 19 中启用了 Web Intents,其在 Safari 上的实现是通过 WebKit 达成的,同时 Mozilla 也正在 Web Intents 上发力。

Web Intents 是个相对较新的类似于 RPC 的机制,可以实现 Web 应用间的通信,这是通过在客户端(通常但不限于是网页)与服务(如网页、扩展 API、插件、OS 处理器等,知道如何处理与加工各自的数据)之间传递数据并返回结果来实现的。整个过程是由 User Agent(通常是浏览器)来处理的,它让用户决定由哪个服务来执行与 Intent 相关的动作。Web Intents 类似于 Android Intents,最初是由Google 在去年提出的,现已被W3C 接受为草案文档,并希望包含在 HTML.Next 中。

Google 成为第一个在 Google Chrome 中实现了 Web Intents 的公司,其实验版本已经包含在最近发布的 Chrome 19 当中。要想使用 Intents,客户端需要通过<intent>标签进行声明,指定待执行的action以及需要传递的数据type,如下代码片段所示:

<intent action="http://webintents.org/share" type="image/*" />客户端需要包含进 Intent 调用代码,对于网页来说其代码如下所示:

var intent = new Intent( "http://webintents.org/share", "image/*", "http://example.com/image.png" ); window.navigator.startActivity(intent);当 Intent 被调用时,User Agent 会要求用户从已知的服务列表中选择一个服务,然后向所选的服务传递数据(在该例中就是“image.png”),服务会处理数据并有可能返回一个结果。目前,Intent 服务需要通过 Chrome Web Store 注册为 Chrome 扩展,但未来会有其他的解决方案出现。W3C 草案还提到了 Explicit Intents ,客户端可以通过它指定想要使用的服务,在使用各自的服务这个问题上,User Agent 可以通知用户,也可以不通知。如果 Web 应用的作者想要使用某种服务,那么该选项就很有用了。

目前,Intents 支持如下动作: share view edit save pick subscribe 。如果觉得不够,开发者还可以创建自己的动作。

Web Intents 代表了继混搭之后的下一个风潮。相对于仅仅从多个源来聚合数据,Web Intents 让属于不同实体的各种服务来进行数据处理成为了可能。可能的用例有:集成第三方搜索结果、编辑图片、登录认证等等。 webintents.org 网站提供了大量示例,如Twitter 发布和短URL 等。

由于Google 已经将代码提交到了WebKit,我们有理由相信Safari 会在未来的版本中包含进Web Intents。Firefox 也开始了Intents 上的工作,其公开的一个Firefox Bug 引起了人们的热议。Mozilla 已经决定在Gaia 中实现Intents 的原型,一旦稳定就会将其移到Gecko 中。我们尚不清楚微软在Web Intents 上的计划。

站长们不必等到所有主流浏览器都支持Web Intents 后才开始行动,他们可以使用JavaScript shim 库,一旦浏览器开始支持后,它会自动采用浏览器的实现。

查看英文原文: Web Intents: What They Are and Their Current Implementation Status

2012-05-21 12:351930
用户头像

发布了 88 篇内容, 共 270.9 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB-Server 常用 API

TiDB 社区干货传送门

管理与运维

GLTF 编辑器实现逼真3D动物毛发效果

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

语音数据集:智能语音技术的燃料与推动力

数据堂

TiDB Placement Rule实战总结

TiDB 社区干货传送门

实践案例 6.x 实践 大数据场景实践 7.x 实践

超60%项目来自高校科研院所 | 2023值得关注的硬科技创变者50强重磅发布

创业邦

苹果mac视频下载器:Downie4下载画质的设置方法

Rose

Mac 视频下载工具 Downie4许可证 Downie 4 Mac版 Downie4清晰度设置

如何使用 Transmit mac高效管理远程文件?

Rose

Transmit下载 Transmit mac使用教程 Mac远程管理软件 Transmit 中文 版

解析小红书笔记详情API的最佳实践与案例分享

技术冰糖葫芦

API

喜讯!云起无垠获评ISC 2023数字安全创新能力百强双料大奖

云起无垠

语音数据集:开启智能语音技术的新篇章

数据堂

苹果Mac图像修图软件Photomator和Pixelmator Pro 有什么区别?

Rose

Pixelmator Pro Mac修图软件 Photomator

Topaz Photo AI 在导入图像时冻结 (Mac)

Rose

Topaz Photo AI 无法启动 Mac图像编辑

Axure RP授权码 附汉化包下载 兼容M/intel

Rose

Axure RP 9汉化 Axure RP 9授权码 Axure RP 10 汉化版 mac破解软件下载 mac原型设计软件

一个 39.3T 的集群从TiDB v3.1.0迁移升级到 TiDB v7.1.2 的实践

TiDB 社区干货传送门

迁移 实践案例 版本升级 大数据场景实践 7.x 实践

GLTF编辑器-位移贴图实现破碎的路面

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

阿拉丁「全网小程序创新与发展共话系列峰会·杭州站」完美落幕

极客天地

SVN客户端:Cornerstone mac版的配置与使用 附Cornerstone许可证

Rose

cornerstone 4破解 Mac版Cornerstone许可证 Cornerstone使用教程 Cornerstone如何配置

3D 渲染如何帮助电商促进销售?

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

GLTF编辑器实现逼真的石门模型

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

TiDB是如何在国有大银行实现数据库业务“一换三”的

TiDB 社区干货传送门

7.x 实践

写实风格3D模型材质贴图

3D建模设计

WebGL 3D渲染 three.js 材质纹理贴图 3D材质编辑

家页观察丨万华生态绿色化、工业化、数字化助力城市更新

极客天地

从0到1快速入门ETLCloud

谷云科技RestCloud

ETL 数据集成平台 数据集成工具

恭喜神州数码集团,荣获“TiDB 社区最佳贡献企业”

TiDB 社区干货传送门

解决Mac苹果上运行VMware Fusion虚拟机提示“未找到文件”的方法

Rose

未找到文件 VMware Fusion虚拟机 Mac虚拟机下载 VM激活秘钥

一篇文章彻底搞懂TiDB集群各种容量计算方式

TiDB 社区干货传送门

监控 管理与运维 TiDB 源码解读 TiKV 源码解读

【火热报名中】TiDB 社区活动在北京:1月7日(周日)新年围炉茶会,来唠唠嗑,回顾过去一年,展望未来

TiDB 社区干货传送门

Mac值得推荐SSH终端工具mac securecrt-支持M1/M2

Rose

mac软件下载 SecureCRT下载 SecureCRT Mac破解版 ssh终端工具下载 SecureCRT 安装教程

哪里有Parallels虚拟机资源?如何安装激活PD虚拟机?

Rose

Mac虚拟机下载 Parallels虚拟机下载 PD虚拟机授权秘钥

Microsoft Office LTSC 2021 Mac版授权许可下载

Rose

office2021下载 Office LTSC 2021 office2021 Mac破解版 office许可证下载

1688商品详情数据接口(1688.item_get)

tbapi

1688API接口 1688商品数据接口 1688商品详情数据接口 1688数据接口 1688商品详情API接口

何为Web Intents及其目前的实现状态_Google_Abel Avram_InfoQ精选文章