foruok によるオリジナル。転載する必要がある場合は、foruok の WeChat 購読アカウント「プログラム ビジョン」をフォローし、foruok までご連絡ください。
HTML では、埋め込みタグまたはオブジェクト タグを通じてプラグインを設定できます。 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 で指定されたパラメーターは、名前と値のペアの形式で PPP_Instance インターフェイスの DidCreate メソッドに渡されます。このメソッドのプロトタイプは次のとおりです。
PP_Bool (*DidCreate)(PP_Instance instance, uint32_t argc, const char* argn[], const char* argv[]);
このうち、argc は CEF が収集する埋め込みまたはオブジェクト内のパラメータの数、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); } ...}
前のオブジェクト タグの例では、DebugView を使用すると次の出力が表示されます。
わかりました。パラメーターを処理できれば、プラグインをカスタマイズできます。
その他の参考記事: