mac 下基于firebreath 开发多浏览器支持的浏览器插件
mac 下基于firebreath 开发多浏览器支持的浏览器插件
首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多
一. 关于 firebreath
firebreath 是一个夸平台,夸浏览器的,开发浏览器插件框架;
利用firebreath开发的浏览器插件,可以在多浏览器上安装;并且提供多种平台下的解决方案比如mac,windows
二. 关于mac 使用 firebreath 开发浏览器插件
官方教程 http://www.firebreath.org/display/documentation/Building+on+Mac+OS+X
1. 必须的东西
安装Cmake http://www.cmake.org/download/ 建议下载源码包,查看README 手动编译安装
mac 上安装了 xocde
xcode 安装了 Command Line Tools
firebreath 工具包从管网下载
2.在下载的frebreath包里面
fbgen.py 是可以为你创建一个新的项目
prepmac.sh 可以为你编译你的项目,生成一个基于xcode的工程,该工程使用xocde再编译即可生成浏览器插件
examples 为官方提供的几个例子
./prepmac.sh examples 编译项目,
如果出现cmake 错误;可能是cmake没有安装好;可以vim prepmac.sh 手动把cmake的命令路径改为你下载的cmake源码里面的bin/cmake路径
注意:如果是自己创建的项目,会生成在projects 目录,编译的为duild目录;官方demo编译后为目录 duildex
3. 用xcode 编译生成的工程
找到上面编译的工程,用xcode 打开工程,编译 选择target all_build;
如果编译出错,请选择编译的os x sdk 10.8 ; 不要用10.10;还有最好选用64位
4. 找到生成的插件 xxx.plugin
如果xcode编译成功了,会在项目下生成 对应的xxx.plugin
如: buildex/projects/FBTestPlugin/Debug/FBTestPlugin.plugin
debug 和 release
5. 安装插件 xxx.plugin
mac 的浏览器插件安装;是把 插件放在了 ~/Library/Internet Plug-Ins/ 目录下;做个连接和是copy进去者行
如:做个连接 ln -s buildex/projects/FBTestPlugin/Debug/FBTestPlugin.plugin ~/Library/Internet Plug-Ins/
6:调试运行插件
在安装上插件之后,重新启动浏览器,并打开 生成的网页FBControl.htm
如: buildex/projects/FBTestPlugin/gen/FBControl.htm
在浏览器上允许插件运行,点击 click me 等;hello world 即可;
到这里,一个使用firebreath 开发的浏览器插件hello world 完了;
三:使用C++,C 利用firebreath 开发插件实现 本地功能的 js 调用
比如我创建了一个 Demo 工程;
那么用Xcode 打开创建的 Demo 工程
在 Demo 目录下,即是 结合 Firebreath开发 咱们要写代码的地方;
其他都是框架的依赖,就不要动了;在这里可以看到框架自动生成的示例
source files 是 源代码目录,一般放我们集成的cpp,c还可以在这里连接mac下的静态类库等
Header Files 是我们提供的 对js调用的 接口头文件;就是c++,c 的方法声明,并利用Firebreath框架 注册;以提供给js调用;在上面的source files里面实现
一般主要操作 DemoApi.h 声明方法,并注册到框架;在DemoApi.cpp 里面去实现;
Generated 为生成的网页目录
这里我们只关心FBControl.htm ; 在这里,添加一些js代码,在js代码里面,去调用 框架声明的接口方法;
按照示例代码来即可;
四:firebreath 使用,高级功能开发等
http://www.firebreath.org/display/documentation/Using+FireBreath
其他的,自己看文档吧
我目前用这个框架是为了开发,在mac下用浏览器调试usb的指纹设备;
核心层是 usb指纹驱动, c++的;
利用firebrath可以 把指纹驱动c++代码,写在框架 里,并注册接口,给js调用;
实现js 操作指纹设备
mac 下基于firebreath 开发多浏览器支持的浏览器插件的更多相关文章
- Mac下搭建php开发环境教程
方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...
- 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql
本文地址 原文地址 本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录 有问题请先 看最后的附录 摘要: 系统OS X ...
- mac下安装c++开发环境
mac下安装c++开发环境 1 注册apple id 按照apple注册步骤注册apple id,我注册时遇到如下问题 apple store完成创建apple id步骤中,选择付款方式和账单地址后, ...
- mac 下搭建 Android 开发环境
因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...
- Mac 下安装Phonegap开发环境
Mac 下安装Phonegap开发环境 2014.09.11 星期四 评论 0 条 阅读 5,613 次 作者:野草 标签:phonegap ios mac 什么是Phonegap呢?Phon ...
- 基于JRebel开发的MybatisPlus热加载插件
前言 前天项目中使用了mybatis-plus,但是搭配Jrebel开发项目时,发现修改mapper的xml,或者mapper方法中的注解,Jrebel并没有能够reload mapper.于是就有了 ...
- Mac下基于testrpc和truffle的以太坊智能合约开发环境搭建
原文地址:石匠的blog truffle是一个基于Javascript开发的一套智能合约开发框架,使用Solidity语言编写合约.truffle有一套自动的项目构建机制,集成了开发,测试和部署的各个 ...
- Mac 下的 C++ 开发环境
1. Xcode 创建 C++ 项目 Xcode (版本 4.6.3)默认支持创建 C++ 项目,步骤很简单:打开 Xcode,新建一个项目:在 OS X 中的 Application 中选择 Com ...
- Sencha Touch 2 在MAC下详细的开发流程
在不久的将来我相信Web App会流行的非常广, 能看到未来才能主宰未来.对于我们开发人员来说我觉得想成就一件伟大的事情,需要过硬的技术和好的想法,再加上决不放弃的精神,一定可以成功的. 以下在Mac ...
随机推荐
- J2EE开发规范
J2EE开发规范一 JAVA编码规范1 命名规范1.1 包命名 包名称必须全部用小写. 命名方式:业务领域名.公司名.项目名.模块名 如com.yr.xxx.dao.1.2 类命名类名以英文单词取 ...
- DEBUG模式开关
在.NET中,有一个特殊的特性可以用:[Conditional("DEBUG")]MyConstructor(IExtensionManager mgr){...}
- BQ27510 电量计的校准 的 C语言实现
点击打开链接 根据TI官方MSP430平台移植修改过来的,在Omap37xx(wince)平台测试,理论上和平台无关,伸手党,赶紧复制粘贴代码吧.如果这篇文章帮助了你,给了好评也无妨. [cpp] v ...
- c#中struct和class的区别 详细[转]
转自:http://blog.csdn.net/justlovepro/archive/2007/11/02/1863734.aspx 有这么几点不同: 1.struct 是值类型,class是对象类 ...
- 【转载】COM多线程原理与应用
原文:COM多线程原理与应用 目录: COM多线程原理与应用 目录: 前言: 套间: 套间的定义: 套间的分类: 套间的进入和退出: 对象的同步: 组件对象的同步: COM对象线程模型: 进程内对象线 ...
- Change Or Set Report Object Property At Run Time In Oracle Forms Using Set_Report_Object_Property Command
Sets the Report object property at run time in Oracle Forms of an report object. The following are t ...
- mybatis的基本配置:实体类、配置文件、映射文件、工具类 、mapper接口
搭建项目 一:lib(关于框架的jar包和数据库驱动的jar包) 1,第一步:先把mybatis的核心类库放进lib里
- [SAP ABAP开发技术总结]面向对象OO
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Linux命令工具基础02 文件及目录管理
文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理 ...
- NYOJ 93 汉诺塔(三)
汉诺塔(三) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度 ...