阅读更多

7顶
0踩

非技术

原创新闻 Chrome 扩展进程模型设计文档草稿公布

2009-02-06 17:16 by 副主编 QQbyte 评论(4) 有5137人浏览
JavaEye新闻报道了 Google Chrome将于5月份和Firefox一样支持扩展,很快google 公布了 Chrome 扩展进程模型设计文档草稿 。

Chrome扩展将遵循多进程架构,享受和通常web页面在Chrominum内同样的稳定性和安全性。所有的扩展代码都在一个单一进程中运行,通过浏览器分隔。扩展代码能够通过消息传递API和用户脚本互相通讯。

类似用户脚本,扩展能够注册为"chrome scripts" ,在扩展进程context上下文中运行。这些脚本拥有特殊的权限能够控制浏览器UI和与扩展UI和用户脚本通讯,Chrome脚本当扩展加载的时候才加载和运行,一般在浏览器启动的时候。他们能够注册监听特殊时间,比如切换tab页,关闭窗口等。

下面是一个例子,所有的扩展包括:

1。一个用户脚本,检测地址和转换地址为链接

2。一个toolstrip包括 HTML, CSS,和需要画按钮的必需脚本。

3。chrome脚本,监听浏览器动作和控制toolbar按钮


代码:

manifest.json (snippet):

...

    // these two are loaded into the extension process

    chrome_scripts: ["chrome/main.js"],

    toolstrip: "chrome/toolstrip.html",

    // this is loaded into renderers

    user_scripts: {

      "matches": ["http://*/*", "https://*/*"],

    "files": ["content/address.js"]

    },

    ...


content/address.js:

extension.addEventListener("on-message", function (e) {

  if (e.message == "autolink") {

    doAutoLink();

  } else if (e.message == "check-for-addresses") {

    var found = checkForAddresses();  // implemented elsewhere

    e.channel.postMessage({hasAddresses: found});

  }

}, false);


chrome/main.js:

extension.addEventListener("tab-changed", function (e) {

      // user switched tabs, so check if our button should be enabled

      e.tab.postMessage("check-for-addresses");

    }, false);

 

 

    extension.addEventListener("on-message", function (e) {

      // we got a response from our user script

      var found = e.message["hasAddresses"];

      var toolstrip = e.tab.browserWindow.getToolstrip("autolink");

      toolstrip.contentWindow.document.getElementById("autolink").disabled = !found;

    }, false);



chrome/toolstrip.html:

<html>

<body>

  <button onclick="autolink()" id="autolink">Auto-Link</button>

  <script>

    function autolink() {

      extension.currentTab.postMessage("autolink");

    }

  </script>

</body>

</html>
来自: ajaxian.com
7
0
评论 共 4 条 请登录后发表评论
4 楼 Snow_Young 2009-02-09 11:58
爽,好期待啊……虽然最爱fx,但是也很想试试chrome
3 楼 rubynroll 2009-02-07 15:22
又是机器翻译的杰作?
2 楼 whaosoft 2009-02-07 06:44
呃 这个是google的呀
1 楼 wangxin0072000 2009-02-07 01:45
没看懂。说的是中国话吗?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C++--MFC的SDI程序的用户命令的处理顺序

     1.用户命令处理顺序图2.OnCmdMsg的代码BOOL CFrameWnd::OnCmdMsg(...){       CView* pView = GetActiveView();       if(pView != NULL && pView->OnCmdMsg(...))              return TRUE;       if (CWnd

  • MFC文档视图结构学习笔记

    文档/视图概述 为了统一和简化数据处理方法,Microsoft公司在MFC中提出了文档/视图结构的概念,其产品Word就是典型的文档/视图结构应用程序 MFC通过其文档类和视图类提供了大量有关数据处理的方法 分为数据的管理和显示,文档用于管理和维护数据,视图用来显示和编辑数据 什么是文档 文档的概念在MFC应用程序中的适用范围很广,一般说来,文档是能够被逻辑地组合的一系列数据,包括

  • 如何支持每种 MFC 文档类型的两个文件扩展名

    http://support.microsoft.com/kb/141921/zh-cn

  • MfC打开过程详解及应用

    本文主要介绍:在MFC中,菜单打开的

  • 常见MFC类的虚拟函数接口

    类 虚拟函数 覆盖的目的和功能 CCmdTarget OnCmdMsg 发送、派发命令消息 OnFinalRelease OLE用途,引用为0时作清理工作 CWinThread ExitInstanc...

  • MVC模式和文档/视图结构

    <br />       MVC(Model-View-Controller)模式的基本思想是数据,显示和处理相分离。模型(Model)负责数据管理,视图(View)负责数据显示,控制器(Controller)负责业务逻辑和响应策略。<br />       从MVC的形成过程来看,最初只有模型和视图两个元素。模型封装了数据并提供操作接口,视图用来表现数据和接收用户请求。模型是独立的,而视图依赖于模型:从模型获取数据进行显示;向模型发送用户请求,并根据返回结果刷新自己。<br />       需要用多个视

  • 文档/视图结构以及简单操作

    文档/视图结构一、前言二、什么是文档/视图结构 我们MFC原理与方法的课程结束了,接下来我们要学习文档/视图结构。好了,废话不多说,咱们开始吧! 二、什么是文档/视图结构 文档/视图(Document/View)结构是使用MFC开发基于文档的应用程序最常用的基本框架。在这个框架中,数据及显示分别由两个不同但又彼此紧密相关的对象——文档和视图负责的。具体地说,用户对数据

  • MFC教程(5)MFC对象的创建

    MFC对象的创建 前面几章介绍了MFC的核心概念和思想,即介绍了MFC对Windows对象的封装方法和特点;MFC对象的动态创建、序列化;MFC消息映射机制。现在,考查MFC的应用程序结构体系,即以文档-视为核心的编程模式。学习本章,应该弄清楚以下问题:MFC中诸多MFC对象的关系:应用程序对象,文档对象,边框窗口对象,文档边框窗口对象,视对象,文档模板对象等。MFC对象的创建和销毁:由什么对象创

  • 浅谈MFC多文档视图中文档是如何对应多个视图的?

    MfC打开过程详解及应用                            本文主要介绍:在MFC中,菜单打开命令的响应过程。一、MFC打开命令的响应过程:File-&amp;gt;Open 对应的ID为ID_FILE_OPEN,其响应过程如下:注:如果自己已将ID_FLIE_OPEN在MFC中重载了,则会直接响应重载函数,不会按以下过程响应。1.点击File-&amp;gt;Open,首先响应的函数为: C...

  • 理解文档/视图结构

     以单文档界面(SDI)应用程序为例,介绍MFC的文档/视图程序结构。 学习要求 理解文档/视图结构,可在AppWizard生成的SDI程序框架的基础上添加必要的代码,以生成自己的应用程序。 授课内容 大部分应用程序均要使用数据,其主要工作可以分为两部分:一是对数据的管理,如存储、复制和查询等任务,一是对数据的处理和输入输出,包括显示和打印。MFC提供了“文档/视图”结构支持这类应用

  • MFC文档视图结构中文档操作流程

    文档视图结构中操作流程 一基本架构 一个程序可以看作是建立在对文档进行处理的基础上的,而程序可处理的文档类型有可能有多种,同时每种文档又可能同时被打开多个视图,若在MDI程序中存在多个文档模板,这会在启动程序时显示一个新建对话框,其中每个条目显示一个文档模板字符串中第三个子串。每个文档又可分为数据部分和表现部分。 基于这种认识,MFC文档视图框架结构将各功能模块总结为对象,用相互关联的

  • MFC之文档/视图结构应用程序

    文档/视图结构应用程序 一、文档/视图结构分析 MFC 通过多个类提供了对程序框架的支持,使用这些类可以简单地实现文档/视图结构;其中主要包括以下五个类: 应用程序类(CWinAPP):是 MFC 程序的应用程序管理类,也是程序的入口类。 文档模板类(CDocTemplate):用于管理应用程序的一组文档视图和框架。 框架类(CMainFrame):用于管理 Windows 对话框类,宽假对话框...

  • 文档/视图结构

    MFC框架基础理论知识

  • 2.4--当打开一个文档时,MFC如何选择所使用的文档模板对象?

          当把一个 文档名 作为 变量 来调用CWinApp::OpenDocumentFile()时,MFC是 如何选择 用来 打开一个给定文档的 文档模板对象的呢?      如果跟踪CWinApp::OpenDocumentFile()函数的整个调用过程,会发现该函数只是通过存储在 应用程序对象 中的m_pDocManager指针简单的调用CDocManager::OpenDocume

  • WebAudioAPIError(解决方案).md

    项目中常见的问题,记录一下解决方案

  • avnet(安富利)网站详情页数据样例

    avnet(安富利)网站详情页数据样例

Global site tag (gtag.js) - Google Analytics