网站建设实力,龙岩app定制,无视风险安装下载app软件,洛阳做公司网站miniblink官网#xff1a;入门之前强烈建议将Miniblink介绍仔细看一遍。
MB内核组件标准版接口文档#xff1a;这里列举了所有的api以及简单的说明#xff0c;但是本人建议还是看wke.h更方便#xff0c;里面都是宏实现的#xff0c;直接搜相关函数即可。
mb demo下载和参…miniblink官网入门之前强烈建议将Miniblink介绍仔细看一遍。
MB内核组件标准版接口文档这里列举了所有的api以及简单的说明但是本人建议还是看wke.h更方便里面都是宏实现的直接搜相关函数即可。
mb demo下载和参考里面有说明文档初步可以看看文档和运行了解一下。
miniblink概括
miniblink是单进程程序与cef多进程相比简单很多。mini 包很小方便集成为了使用devTool应该将mb demo目录下的front_end拷贝到工程一份为了使用插件应该将mb demo目录下的plugins拷贝到工程一份
js 调用C函数并返回值
遵循WKE_CALL_TYPE 调用方式遵循函数原型 jsValue WKE_CALL_TYPE xxxFun(jsExecState es, void* param)
//函数标准必须遵守WKE_CALL_TYPE 调用方式
jsValue WKE_CALL_TYPE OnMsg(jsExecState es, void* param)
{//获取参数个数jsArgCountif (0 jsArgCount(es))return jsUndefined();//获取约定的参数例如获取第一个参数并假设参数为string如果不是string则返回jsValue arg0 jsArg(es, 0);//jsType type jsArgType(es, 0);//if (JSTYPE_STRING ! type) return jsUndefined();if (!jsIsString(arg0))return jsUndefined();path jsToTempString(es, arg0);//同理获取更多参数//返回约定返回值 or Undefined//return jsStringW(LOK);return jsInt();
}js绑定C函数
#param1js中调用的函数名称
#param2c中实现的的函数
#param3自定义参数对应OnMsg中的void* param
#param4约定onMsg中需要输入的参数个数可多但是不能少#该函数是全局的绑定之后所有webview的js都可以调用eMsg包括新打开的webview
wkeJsBindFunction(eMsg, onMsg, nullptr, 5);js中调用绑定函数
button onclickeMsg(add)js Call C function/buttonc 调用js函数并获取返回值
js中声明函数eg:js_add
function js_add(v1,v2){return v1 v2;}C通过jsCallGlobal调用js_add
int callJSAdd(wkeWebView webview)
{jsExecState es wkeGlobalExec(webview);jsValue f jsGetGlobal(es, js_add);if (jsIsFunction(f)){return -1;}jsValue jVal[2];jVal[0] jsInt(1);jVal[1] jsInt(2);jsValue callRet jsCallGlobal(es, f, jVal, 2);return jsToInt(es, callRet);
}显示DevTool
#param1wkeWebView 实例
#param2调试器的路径即front_end/inspector.htmlwkeShowDevtools(m_wkWebView, szPath, 0, 0);void CMbWebView::ShowDevTool()
{wchar_t szPath[MAX_PATH] _T();GetModuleFileNameW(NULL, szPath, MAX_PATH);PathRemoveFileSpecW(szPath);PathAppendW(szPath, Lfront_end);PathAppendW(szPath, Linspector.html);if (_waccess(szPath, 00) ! 0){wchar_t szBuf[1024] L;_snwprintf_s1024(szBuf, 1024, L调试工具[%s]不存在, szPath);MessageBoxW(GetHwnd(), szBuf, L错误提示, MB_OK);}else{wkeShowDevtools(m_wkWebView, szPath, 0, 0);}
}其他的更多功能直接参考官方的mb demo。