写点什么

何为 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:351932
用户头像

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

关注

评论

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

2021年阿里、腾讯、百度

爱好编程进阶

Java 面试 后端开发

Bootstrap Table数据表格的使用指南

爱好编程进阶

Java 面试 后端开发

“迈向元宇宙的一小步”鲁班会开发者深度论坛落地北京

华为云开发者联盟

音视频 opengauss 华为云 元宇宙 鲁班会

Dubbo如何处理业务异常,这个一定要知道哦!

爱好编程进阶

Java 面试 后端开发

与操作系统性能最相关的组件是什么?

InfoQ IT百科

162基于springboot宠物管理系统

爱好编程进阶

Java 面试 后端开发

3 个方法,教你提升程序员的自我价值

爱好编程进阶

Java 面试 后端开发

CDH+Kylin三部曲之二:部署和设置

爱好编程进阶

Java 面试 后端开发

操作系统国产化的难点是什么?

InfoQ IT百科

不同操作系统之间的应用是否可以兼容?

InfoQ IT百科

git(1) 起步

爱好编程进阶

Java 面试 后端开发

2021最新Java面试标准,26个技术点一千多道面试题全曝光,赶紧学

爱好编程进阶

Java 面试 后端开发

35K成功入职蚂蚁金服,现分享面试Java后端经历「内含面试题

爱好编程进阶

Java 面试 后端开发

如何在给定数组中执行二元搜索?

InfoQ IT百科

disruptor笔记之一:快速入门

爱好编程进阶

Java 面试 后端开发

如何在没有递归的情况下通过对给定二叉树执行中序遍历来打印所有节点?

InfoQ IT百科

5年crud“经验”

爱好编程进阶

Java 面试 后端开发

Kubernetes 中数据包的生命周期 -- 第 2 部分

Se7en

Elasticsearch 中为什么选择倒排索引而不选择 B 树索引

爱好编程进阶

Java 面试 后端开发

电脑硬件中光驱的作用是什么?

InfoQ IT百科

浅析Redis分布式集群倾斜问题

五分钟学大数据

redis 4月月更

GPU微架构回顾

Finovy Cloud

GPU服务器 GPU算力

axios发送post请求,springMVC接收不到数据问题

爱好编程进阶

Java 面试 后端开发

ClassUtils常用方法总结

爱好编程进阶

Java 面试 后端开发

如何实现冒泡排序算法(bubble sort algorithm)?

InfoQ IT百科

复杂度守恒定律与计算哲学|Authing CEO 谢扬

Authing

开发者 云原生 身份云 生产力 Idaas

Google 出品的 Java 编码规范,权威又科学,强烈推荐

爱好编程进阶

Java 面试 后端开发

如何实现迭代快速排序算法(iterative quicksort algorithm)?

InfoQ IT百科

Flink SQL Client综合实战

爱好编程进阶

Java 面试 后端开发

2021最新一次Java面试,快手三面一轮游,如今已拿意向书

爱好编程进阶

Java 面试 后端开发

Activiti 自定义表单流程(全流程演示)

爱好编程进阶

Java 面试 后端开发

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