Miniblink 入门
创始人
2024-05-24 21:14:20
0

miniblink官网:入门之前强烈建议将Miniblink介绍仔细看一遍。

MB内核组件标准版接口文档:这里列举了所有的api以及简单的说明,但是本人建议还是看wke.h更方便,里面都是宏实现的,直接搜相关函数即可。

mb demo下载和参考:里面有说明文档,初步可以看看文档和运行了解一下。

miniblink概括

  1. miniblink是单进程程序与cef多进程相比简单很多。
  2. mini 包很小,方便集成
  3. 为了使用devTool,应该将mb demo目录下的front_end拷贝到工程一份
  4. 为了使用插件,应该将mb demo目录下的plugins拷贝到工程一份

js 调用C++函数并返回值

  1. 遵循WKE_CALL_TYPE 调用方式
  2. 遵循函数原型 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(L"OK");return jsInt();
}
  1. js绑定C++函数
#param1:js中调用的函数名称
#param2:c++中实现的的函数
#param3:自定义参数,对应OnMsg中的void* param
#param4:约定onMsg中需要输入的参数个数,可多但是不能少#该函数是全局的,绑定之后所有webview的js都可以调用eMsg,包括新打开的webview
wkeJsBindFunction("eMsg", &onMsg, nullptr, 5);
  1. js中调用绑定函数

c++ 调用js函数并获取返回值

  1. js中声明函数,eg:js_add
function js_add(v1,v2){return v1 + v2;}
  1. 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

#param1:wkeWebView 实例
#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, L"front_end");PathAppendW(szPath, L"inspector.html");if (_waccess(szPath, 00) != 0){wchar_t szBuf[1024] = L"";_snwprintf_s<1024>(szBuf, 1024, L"调试工具[%s]不存在", szPath);MessageBoxW(GetHwnd(), szBuf, L"错误提示", MB_OK);}else{wkeShowDevtools(m_wkWebView, szPath, 0, 0);}
}

其他的更多功能直接参考官方的mb demo

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...