HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

mac软件卸载不干净怎么办?

真大的脸盆

Mac Mac 软件 软件卸载工具 卸载软件

数字化管理时代来临,瓴羊Quick BI、帆软Fine BI领跑国产BI市场

对不起该用户已成仙‖

Prometheus实战-从0构建高可用监控平台(五)

小毛驴的烂笔头

Linux Prometheus

开启数字化,传统工厂该如何布局?

优秀

数字化 数字工厂

JMeter实时性能监控平台实战

测吧(北京)科技有限公司

测试

Fabarta 与青岛市城阳区政府达成战略合作,共同推动区域数据要素市场建设

Fabarta

数据挖掘 数据要素 数据资产管理 图智能 数据要素流通

项目管理系统Redmine怎么样

爱吃小舅的鱼

项目管理 项目管理软件

Prometheus实战-从0构建高可用监控平台(四)

小毛驴的烂笔头

Linux Prometheus

一文带你直观感受,BPM管理系统如何在低代码平台实现搭建

加入高科技仿生人

低代码 数字化 系统开发 BPM

Alibaba开发十年,写出这本“MQ技术手册”,看完我愣住了

程序知音

Java RocketMQ 消息中间件 Java进阶 后端技术

【干货集】PCBA板边器件布局重要性

华秋PCB

工具 电路 PCB 布局 PCB设计

阿里云 EMAS & 魔笔:4月产品动态

移动研发平台EMAS

阿里云 DevOps 消息推送 低代码平台 兼容性测试

软件测试 | 编程语言中的Interface

测吧(北京)科技有限公司

测试

今日分享丨inBuilder低代码平台有关前端的“道、法、术、器”

inBuilder低代码平台

前端 低代码平台

Alibaba技术官熬夜肝出的,Kafka“限量笔记”牛掰!

程序知音

Java kafka java架构 Java进阶 后端技术

JAVA快速开发框架 一键生成表单模板代码

力软低代码开发平台

10年IT老兵亲述SpringCloud开发从入门到实战文档

程序知音

Java 微服务 java架构 Java进阶 spring-cloud

什么是点对点传输?什么是点对多传输

镭速

Prometheus实战-从0构建高可用监控平台(三)

小毛驴的烂笔头

Linux Prometheus

如何有效的向 AI 提问 ?

繁依Fanyi

人工智能

全新 – Amazon EC2 R6a 实例由第三代 AMD EPYC 处理器提供支持,适用于内存密集型工作负载

亚马逊云科技 (Amazon Web Services)

Amazon EC2

酷家乐x极盾科技:“智能安全决策平台”助力日均十亿级日志分析

极盾科技

数据安全

iOS MachineLearning 系列(13)—— 语音与音频相关的AI能力

珲少

接口测试

测吧(北京)科技有限公司

测试

Django认证系统

测吧(北京)科技有限公司

测试

安卓机上 4G 内存跑 alpaca,欢迎试用轻量级 LLM 模型推理框架 InferLLM

MegEngineBot

开源 大模型 MegEngine LLM

数据标注——数字世界的基石

来自四九城儿

ChatGPT会如何影响我们,会让我们失业吗?兼与吴军博士商榷 | 社区征文

李韧

人工智能 ChatGPT 三周年征文

重塑财务计划,拥抱全面预算管理的未来

智达方通

业财融合 全面预算管理 财务计划

开源工具系列7:Kube-bench

HummerCloud

Kubernetes 云原生安全

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