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


    本文概要介绍了何为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支持如下动作:sharevieweditsavepicksubscribe。如果觉得不够,开发者还可以创建自己的动作。

    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库,一旦浏览器开始支持后,它会自动采用浏览器的实现。

  • 相关阅读:
    Android周学习Step By Step(6)Android的数据库SQLite
    Android周学习Step By Step(2)HelloWorld
    解决方案(.sln)文件
    浅谈测试(1)单元测试
    批量上传功能的实现
    分页控件AspNetPager的用法
    .net下验证码的简单实现
    window.alert重写实现友好的对话框(支持IE)
    网页上自定义运行和测试HTML脚本
    数据库行转列的sql语句(zt)
  • 原文地址:https://www.cnblogs.com/dushu/p/2512700.html
Copyright © 2020-2023  润新知