zoukankan      html  css  js  c++  java
  • mac 下基于firebreath 开发多浏览器支持的浏览器插件

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

  • 相关阅读:
    译文高效的JavaScript.
    JavaScript 全半角转换
    js表单验证
    Js事件大全
    Javascript下的urlencode编码解码方法decodeURIComponent()
    加速Javascript:DOM操作优化
    javascript验证日期的函数
    javascript里面的小数计算出现近似值的解决办法
    【busybox】busybox使用总结 01
    Assemble 汇编语言的种类
  • 原文地址:https://www.cnblogs.com/cocoajin/p/4279394.html
Copyright © 2011-2022 走看看