mac 下基于firebreath 开发多浏览器支持的浏览器插件

首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多

一. 关于 firebreath

http://www.firebreath.org

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 操作指纹设备

转载于:https://www.cnblogs.com/cocoajin/p/4279394.html

mac 下基于firebreath 开发多浏览器支持的浏览器插件相关推荐

  1. Mac下搭建php开发环境教程

    这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考下 Mac OS X ...

  2. 手把手教你Linux下基于ITK开发基础(1)

    手把手教你Linux下基于ITK开发基础(1) *requirement: requirement version git 2.17.1 g++ Ubuntu 7.5.0-3 ubuntu1~18.0 ...

  3. 转:MAC 下安装PHONEGAP开发环境

    MAC 下安装PHONEGAP开发环境 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统.采用HTML5来编写交互界 ...

  4. mac php环境配置教程,Mac下搭建PHP 开发环境的教程(详细步骤)

    本篇文章给大家带来的内容是关于Mac下搭建PHP 开发环境的教程(详细步骤),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. php 的本地开发环境,搭建很简单,成功启动三个进程就可以 ...

  5. payjs 源码_WordPress插件:Payjs For Ponits基于Payjs开发的积分充值微信支付插件

    前言 目前市面上能够安全靠谱使用的支付方案并不多,payjs就是其中极佳的一家,对于个人开发者也比较友好,正好在有赞停止新用户接入支付,云落将之前开发的支付插件改为payjs支付,其他的变化不大的 我 ...

  6. 基于uni-app开发的一款视频播放器插件

    yy-video-player 基于uni-app开发的一款视频播放器插件,开箱即用,具有视频下载,页面返回,弹幕,进度条等功能. 插件地址:https://ext.dcloud.net.cn/plu ...

  7. [亲测]在Mac下配置php开发环境:Apache+php+MySql

    公司给我们配上了高大上的Apple Mac Pro本本,这两天自己正在习惯中.通过虚拟机PD,确实解决了一些因为工作习惯无法在iOS上很好完成的事情,但是我想,既然用起了iOS就尽量将一些事务在iOS ...

  8. mac下图形界面开发:ios and mac osx

    Mac平台下使用XCode开发的基本概念 http://chuangyiji.com/2008/03/mac-ping-tai-xia-shi-yong-xcode-kai-fa-di-ji-ben- ...

  9. 前端小白配置mac下node+vue开发环境的各种姿势

    背景:笔者(前端小白)之前mac环境下用的node 9.8.x版本,npm 6.13.4版本,昨天尝试ts,用vue-cli构建项目对时候,vscode给提示说node版本太低了,好,笔者听从前辈经验 ...

最新文章

  1. 从上往下 流式布局_教大家怎么写前端布局
  2. pandas使用方括号[]或者loc函数、基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe)
  3. 笔记本电脑投屏到电视_Thinkpad笔记本PC无线连接电视或投影机,性能稳定的商用投屏解决方案...
  4. numpy 笔记:finfo
  5. TabLayout实现顶部导航栏(1)
  6. SharePoint 2013 Workflow - Advanced Workflow Debugging with Fiddler
  7. ssm 项目cannot resolve package_前端工程化之创建项目
  8. 超252万市民预约报名 北京数字人民币红包中签结果公布啦
  9. c是计算机硬盘,为什么计算机硬盘上只有C驱动器?
  10. CSS学习笔记--定位
  11. bytes的json解析
  12. 用hyperf框架开发JsonRpc服务
  13. 数据仓库分层设计,零基础一看就会
  14. linux伊甸园论坛,Deepin2014壁纸大赛评审团——不断努力的Linux伊甸园
  15. Taxi Cab Scheme 【HDU - 1350】【匈牙利算法解决最小链覆盖】
  16. 编码、学习、玩耍一条龙,这是我看过最良心的「游戏编程」网站,没有之一!...
  17. idea修改css,js样式浏览器没更新问题
  18. 直播系统开发应有的引流功能
  19. MySQL时间戳和时间的获取/相互转换/格式化
  20. Android简易计分器

热门文章

  1. collection转换为list_JAVA 集合 接口继承关系和实现,List,Set,Map(总结)
  2. ipv6地址为什么显示两个_【聚焦】IPv6进行时,别被这些因素绊住脚
  3. win10运行vue项目_vue+webpack在window10环境下搭建及遇到的问题
  4. javascript中本地储存、离线缓存、地理定位、网络状态
  5. javascript中NaN属性、null对象、Number对象、Object对象
  6. python数据结构编程_写给Python编程高手之 数据结构
  7. i茅台app上线首日,直接冲到了App Store免费榜第一
  8. 支付系统设计:对账处理(二)
  9. 利用这些心理学效应,轻松拿到满意offer
  10. python字符串相关习题