i18n是internationalization 的简写,这里将讨论软件国际化的问题.熟悉软件国际化的朋友应该知道,软件国际化要求,页面中所有用户可见的字符串都必须置于资源属性文件中.资源属性文件中的资源是形如“key=value”的键值对,一行一个.其中key为资源的标识符,用于HTML页面中,根据当前页面的Locale确定要使用的资源.value是资源的值,不同的Locale对应的资源值不同,在资源文件中统一用Unicode编码. 通过chrome.i18n API和相关的资源配置文件,可…
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59      阅读:1361      评论:0      收藏:0      [点我收藏+] 标签:des   class   style   log   com   使用   si   it   la 通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的"本地消息主机(native messaging host)",Chrome浏览器扩展还可以与客…
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 2016-11-24 09:36 114人阅读 评论(0) 收藏 举报  分类: PPAPI(27)  通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机(native messaging host)”,Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机”之后,Chrome浏览器会在独立的进程中启动该本地应用,并通过标…
翻译总结了这么多的官网内容,下面以一款博主开发的“沪深股票价格变化实时追踪提醒”软件为例,介绍Chrome浏览器扩展程序的开发,开发环境为Eclipse IDE+Chrome Browser. “沪深股票价格变化实时追踪提醒”软件能够实时获取用户指定的股票的价格等参数,并根据用户设置的价格区间进行越界提醒.该软件目前只实现了两部分,一个是options页面,用以配置用户要监听的股票及股票的价格区间.另一个是browser action类型的popup页面,供用户查看股票当前价格,并通过图标的Ba…
除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可以绑定第三方API库到Chrome浏览器扩展程序. Chrome浏览器扩展程序可以使用的API包括: 标准JavaScript API,即Web应用中常用的JavaScript核心API和DOM API XMLHttpRequest API HTML5 API WebKit API,特别是WebKi…
XMLHttpRequest对象是W3C的标准API,用于访问服务器资源.XMLHttpRequest对象支持多种文本格式,如XML和JSON等.XMLHttpRequest对象可以通过HTTP和HTTPS发送请求. 通常出于安全的考虑,Web页面的XMLHttpRequest对象不能访问其他域的服务器.但是Chrome浏览器扩展没有这个限制,只要设置了跨域访问的权限,Chrome浏览器扩展的XMLHttpRequest对象可以访问声明的任何域的服务器. 每个Chrome浏览器扩展都运行于自己的…
通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机(native messaging host)”,Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机”之后,Chrome浏览器会在独立的进程中启动该本地应用,并通过标准输入/输出流(stdin/stdout)进行消息通信. 1)      本地应用的配置文件的内容 本地应用要能够成为“本地消息主机”,必须有一个manifest.json配置文件(文件名…
Content Scripts是运行在Web页面的上下文的JavaScript文件.通过标准的DOM,Content Scripts 可以操作(读取并修改)浏览器当前访问的Web页面的内容. Content Scripts通常用于如下场景: 找到Web页面中的无效链接并修复 增大字体以突出显示 查找并处理DOM中的microformat Content Scripts的使用限制条件: 不能访问如下chrome.* API chrome.extension API chrome.i18n API…
Desktop Notification也称为Web Notification,是在Web页面之外,以弹出桌面对话框的形式通知用户发生了某事件.Web Notification于2015.9.10成为W3C推荐标准,网址https://www.w3.org/TR/notifications/.每个通知对话框都包括title, direction, language和origin.通知对话框还可以有body, tag, icon URL和icon image. 通知必须获得用户的授权才能够显示,从…
chrome.events中定义了一些常见的事件类型,可以供Chrome浏览器扩展程序发出对应的事件对象. 对于关注的事件,首先要通过addListener()在对应的事件上注册监听器,示例如下: chrome.alarms.onAlarm.addListener(function(alarm) { appendToLog('alarms.onAlarm --' + ' name: ' + alarm.name + ' scheduledTime: ' + alarm.scheduledTime…
MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一位置.BizTalk Server 使用MSMQ Adapter向MSMQ发送以及从其接收消息.MSMQ 适配器支持 Message Queuing 2.0 和 Message Queuing 3.0.本文简要的介绍MSMQ的相关概念,演示如何使用MSMQ适配器向发送和接收其消息.最后阐述在使用MS…
做BizTalk的项目一段时间了,但是对BizTalk的价格和许可还不是很了解.给客户设计解决方案时大部分产品都是直接按照企业版的功能来设计,很 少考虑到价格和许可方面的因素,以为这个不是我们的事情或者认为使用企业版是应该的,企业软件的销售就是有意思,懂产品的和卖产品的一般不是一个人.懂产 品的一般是做技术的,学这个产品的时候就是用D版的或者是企业版,不会去关心不同产品的定价.当然在跟客户讲的时候就很少考虑版本及价格因素.而卖产品就 会添油加醋说要实现这样的平台您需要购买XX.YY产品,当然为要…
在Android开发的过程中,我们常常须要对控件的样式做一下改变,能够通过用添加背景图片的方式进行改变,可是背景图片放多了肯定会使得APK文件变的非常大. 我们能够用自己定义属性shape来实现. shape: gradient   -- 相应颜色渐变. startcolor.endcolor就不多说了. android:angle 是指从哪个角度開始变. solid      --  填充. stroke   --  描边. corners  --  圆角. padding   -- 定义内容…
<Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 和 CSS3 技术应用,推荐优秀的 网页设计 案例,共享精美的设计素材和优秀的 Web 开发工具,希望这些精心整理的前端技术文章能够帮助到您. HTML5 & CSS3 太赞了!超炫的页面切换动画效果[附源码下载] 时尚设计!三种奇特的网格加载效果[附源码下载] 3D Grid Effect – 使…
在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities/HttpUtility/RequestUtility.cs: #region 代理 private static WebProxy _webproxy = null; /// <summary> /// 设置Web代理 /// </summary> /// <param nam…
这篇帖子老少皆宜,不分男女,不分种族,不分职业.俗话说:“磨刀不误砍柴工”.掌握一些开发工具的使用,对自己帮助是很大的(无论是用于分析问题,还是提高生产力).本篇就讲述如何利用Chrome浏览器(这里讲述的版本是14.0.835.2)的开发工具(因为IE浏览器的开发工具实在不敢恭维,不过大部分功能还是健全的).之所以使用Chrome浏览器,是因为对它情有独钟吧.Chrome浏览器的开发工具是一个比较强大的工具,主要包括以下面板: 元素 (Elements) 面板 资源 (Resources) 面…
iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮 由于使用编辑界面添加视图的方式比较简单,所以不在介绍.这里,直接讲解代码中如何添加.使用代码为主视图添加一个按钮的方式和在1.3.3节中讲解的步骤是一样的.首先需要使用UIButton类实例化一个按钮对象,然后是设置位置和大小,最后是使用addSubview()方法将按钮对象添加到主视图中.(由于视图的添加方式都一样,后面将省略使用代码添加视图这块内容.). [示例2-1]以下将为主视图添加一个背景颜色为橘黄色的按钮对象.代码如下…
OSGi 系列(十八)之 基于注解的 Blueprint 1. 注解实现 blueprint 第一步:bundle 添加 Bundle-Blueprint-Annotation <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>3.0.0</version> <exten…
Java 设计模式系列(十八)备忘录模式(Memento) 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式.备忘录对象是一个用来存储另外一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态.备忘录模式常常与命令模式和迭代子模式一同使用. 一.备忘录模式的结构 备忘录模式所涉及的角色有三个:备忘录(Memento)角色…
在Chrome浏览器扩展中使用HTML和JavaScript非常容易,但是如何重用已有的非JavaScript遗留系统代码呢?答案是将NPAPI插件绑定到Chrome浏览器扩展,从而实现在Chrome浏览器扩展中通过JavaScript调用遗留系统代码. 注意,出于安全性的考虑,NPAPI已经于2015年开始被Chrome浏览器全面禁用.请使用PPAPI(Pepper Plugin API)开发新插件,详情请关注本文的后续内容. 下面介绍的内容仅供参考. 由于NPAPI插件中的代码拥有各种权限,…
1.       Google Chrome扩展简介 Google Chrome扩展是一种软件,以增强Chrome浏览器的功能. Google Chrome扩展使用HTML.JavaScript.CSS和图片等Web技术开发. Google Chrome扩展与Google Chrome插件不同.Google Chrome扩展无需了解浏览器的源代码,而Google Chrome插件是更底层的浏览器功能扩展,需要深入掌握浏览器的源代码.   2.       Google Chrome扩展的基本组成…
Chrome浏览器扩展程序通过chrome.alarms.* API,可以制定计划周期性地执行代码,或在指定时间执行代码. 要使用chrome.alarms.* API,首先需要在manifest.json文件中声明alarms授权如下: { "permissions": [ "alarms" ], } chrome.alarms.Alarm对象的属性如下: 属性名 类型 必选/可选 注释 name string 必选 alarm的名字 scheduledTime…
Google Chrome浏览器扩展可以使用如下任何一种存储机制: HTML5的localStorage API实现的本地存储(此处略) Google的chrome.storage.* API实现的浏览器存储 Google的chrome.cookies.* API实现的cookie存储 1) chrome.storage API实现的浏览器存储 Chrome浏览器扩展通过chrome.storage.* API,可以存取数据或监听数据的变化. 在manifest.json文件中注册storage…
Chrome浏览器通常提供了一些默认页面,如标签管理器页面chrome://bookmarks.浏览历史记录页面chrome://history或新建Tab页面chrome://newtab等. Chrome浏览器扩展中的override页面,顾名思义就是重写的页面,可以替换上述默认页面.不过,一个Chrome浏览器扩展只能替换一种默认页面.Chrome浏览器扩展可替换的默认页面如下: 如标签管理器页面chrome://bookmarks 浏览历史记录页面chrome://history 新建T…
options 页面用以定制Chrome浏览器扩展程序的运行参数. 通过Chrome 浏览器的“工具 ->更多工具->扩展程序”,打开chrome://extensions页面,可以看到有的Google Chrome扩展程序有“选项Options”链接,如下图所示.单击“选项Options”就可以弹出options页面. 对于Chrome 40之前的版本,定义options页面,首先要在manifest.json文件中注册如下: { ... "options_page":…
Page Action类型的Google Chrome浏览器扩展程序,通常也会有一个图标,但这个图标位于Chrome浏览器的地址栏内右端.而且这个图标并非始终出现,而是当某指定的页面打开时才会出现.也就是说,这个图标与当前打开的页面有关,只有打开了指定的页面才会显示该图标,对该页面执行对应的操作. 定义Page Action类型的Google Chrome扩展程序,首先要在manifest.json文件中注册如下: {         ...         "page_action"…
Browser Action类型的Google Chrome扩展程序,通常在Chrome浏览器的工具栏中,地址栏的右侧,有一个始终存在的图标.也就是说,这个图标与浏览器相关,只要安装了该Chrome扩展的浏览器,就会显示该图标. 鼠标悬浮到图标上会给出提示信息,鼠标点击图标会弹出popup页面.图标还可以根据条件设置不同的徽章(Badge),提示用户不同的条件状态. 定义Browser Action类型的Google Chrome扩展程序,首先要在manifest.json文件中注册如下: {…
1) 不可视的background页面 Google Chrome扩展往往包含一个不可见的background页面,Google Chrome扩展的主要业务逻辑都位于此.有两种类型的background 页面,一种是persistent background pages,另一种是event pages.Persistent background pages持续运行,随时可访问.而Event pages是事件驱动运行的,只有在事件发生的时候才可以访问. Persistent background…
1)      查看扩展程序的详细信息和ID 通过Chrome 浏览器的“ 工具->更多工具->扩展程序”,打开chrome://extensions页面,选中右上角的“开发者模式”,可以查看扩展程序的详细信息(如名称.概述.占用空间大小.版本和权限等)和ID. 2)      查看扩展程序的popup页面 通过Chrome 浏览器的“工具 ->更多工具->扩展程序”,打开chrome://extensions页面,选中右上角的“开发者模式”(必须在开发者模式下才能够看到调试菜单项…
由于content scripts运行在Web页面的上下文中,属于Web页面的组成部分,而不是Google Chrome扩展程序.但是content scripts又往往需要与Google Chrome扩展程序的其他部分通信以共享数据. 这可以通过消息传递实现,通过彼此互相的消息的监听与反馈进行通信.一个消息可以包含任何有效的JSON对象,如null,boolean,number,string,array,object. 1)      一次性请求与响应模式 对于一次性请求与响应模式,chrom…