foruok原创,如需转载请关注foruok的微信订阅号“程序视界”联系foruok。
在HTML中,可以通过embed或object标签来配置插件。使用embed类似下面这样:
<embed id="myplugin" type="application/x-ppapi-myplugin" width="1200px" height="520px"></embed>
使用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 <p>针对前面的object标签示例,使用DebugView可能看到下面的输出:</p> <p></p> <p>Ok,能处理参数,插件就可以定制化了。</p> <p>其他参考文章:</p>