博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mac 下基于firebreath 开发多浏览器支持的浏览器插件
阅读量:7144 次
发布时间:2019-06-29

本文共 1825 字,大约阅读时间需要 6 分钟。

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

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

一. 关于 firebreath

firebreath 是一个夸平台,夸浏览器的,开发浏览器插件框架;

利用firebreath开发的浏览器插件,可以在多浏览器上安装;并且提供多种平台下的解决方案比如mac,windows

二. 关于mac 使用 firebreath 开发浏览器插件

官方教程 

1. 必须的东西

安装Cmake  建议下载源码包,查看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 使用,高级功能开发等

其他的,自己看文档吧

我目前用这个框架是为了开发,在mac下用浏览器调试usb的指纹设备;

核心层是 usb指纹驱动, c++的;

利用firebrath可以 把指纹驱动c++代码,写在框架 里,并注册接口,给js调用;

实现js 操作指纹设备

 

转载地址:http://cvgrl.baihongyu.com/

你可能感兴趣的文章
百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记
查看>>
Oracle VM VirtualBox技巧
查看>>
怎样自己构建一个小型的Zoomeye----从技术细节探讨到实现
查看>>
Hadoop 2.7.1 源代码目录结构分析
查看>>
《转》 Openstack Grizzly 指定 compute node 创建 instance
查看>>
[转]PhoneGap使用PushPlugin插件实现消息推送
查看>>
PHP传值与传址(引用)
查看>>
JSP简单练习-数组应用实例
查看>>
Directx11学习笔记【四】 封装一个简单的Dx11DemoBase
查看>>
DMA(STM32)
查看>>
最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
查看>>
Boost.Asio基础(三)
查看>>
【转载】学习新东西的唯一方法
查看>>
[转]Android dex分包方案
查看>>
关于Redis的启动过程
查看>>
Android 按二次后退键退出应用程序
查看>>
Springboot监控之一:SpringBoot四大神器之Actuator之2--springboot健康检查
查看>>
[唐诗]秋夜喜遇王处士-王绩
查看>>
一个简单多任务内核实例的分析【转】
查看>>
WPF 3D 小小小小引擎 - ·WPF 3D变换应用
查看>>