在HTML中给PPAPI插件配置参数

来源:互联网 发布:网络写手怎么赚钱 编辑:程序博客网 时间:2024/06/16 01:12

foruok原创,如需转载请关注foruok的微信订阅号“程序视界”联系foruok。

在HTML中,可以通过embed或object标签来配置插件。使用embed类似下面这样:

<embed id="myplugin" type="application/x-ppapi-myplugin" width="1200px" height="520px">

使用object类似下面这样:

<object id="myplugin" type="application/x-ppapi-myplugin" width="1200px" height="520px" custom="i am custom">  <param name="tang" value="desktop" /></object>

PPAPI插件实例化时,可以收到在embed或object中配置的参数。所有嵌在标签中的属性(比如id=”myplugin”)、param指定的参数,都会以name-value对的形式传递给PPP_Instance接口的DidCreate方法。该方法原型如下:

PP_Bool (*DidCreate)(PP_Instance instance,                     uint32_t argc,                     const char* argn[],                     const char* argv[]);

其中,argc是CEF搜集的embed或object中的参数个数,argn数组是参数名字,argv数组是参数的值。代码中可以这样处理参数:

PP_Bool Instance_DidCreate(PP_Instance instance,    uint32_t argc,    const char* argn[],    const char* argv[]) {    ...    char szLog[256] = { 0 };    sprintf_s(szLog, 256, "PPAPI Got %d params\r\n", argc);    OutputDebugStringA(szLog);    for (int i = 0; i < argc; i++)    {        sprintf_s(szLog, 256, "name=%s, value=%s\r\n", argn[i], argv[i]);        OutputDebugStringA(szLog);    }    ...}

针对前面的object标签示例,使用DebugView可能看到下面的输出:

Ok,能处理参数,插件就可以定制化了。


其他参考文章:

  • CEF Windows开发环境搭建
  • CEF加载PPAPI插件
  • VS2013编译最简单的PPAPI插件
  • 理解PPAPI的设计
  • PPAPI插件与浏览器的交互过程
  • Windows下从源码编译CEF
  • 编译PPAPI的media_stream_video示例
  • PPAPI插件的绘图与输入事件处理
  • 在PPAPI插件中创建本地窗口
  • PPAPI插件与浏览器的通信
  • Windows下从源码编译Skia
  • 在PPAPI插件中使用Skia绘图
  • 加载DLL中的图片资源生成Skia中的SkBitmap对象
  • PPAPI+Skia实现的涂鸦板
  • PPAPI中使用Chromium的3D图形接口
  • PPAPI中使用OpenGL ES绘图
  • CEF中JS与C++交互
  • CEF中Browser进程与Render进程间通信
  • Chromium与CEF的多进程模型及相关参数
  • PPAPI与Browser间使用AsyncIPC通信
0 0
原创粉丝点击