美文网首页
c++混合js编程

c++混合js编程

作者: celineWong7 | 来源:发表于2022-12-16 11:46 被阅读0次

    1 背景

    有个项目是c++开发(MFC),内嵌一个浏览器容器(IE内核),c++控制该容器浏览器某个html,然后展示页面。
    静态页面还好说,但通常希望一些交互,c++和html页面(JavaScript,后面简称js)互通信息。

    2 实现方式

    参考文章中,作者已详细讲述了实现方式,可以直接跳转阅读。
    本人对c++段不甚了解,此处是摘取一个demo中的关键实现语句做备忘。

      1. C++要怎么引入html页面?
        mHtmlView.Navigate(strHtml);
      1. C++要怎么传递json数据给html页面,动态渲染数据?
        c++调用js方法并传参:
        CallJScript(L"setData", szData.GetAt(i));
      1. js要怎么调用c++的方法?
        1)js中:通过 window.external.函数名 来调用c++中的函数;
        2)c++中:通过DISP_FUNCTION宏将一个函数映射到Dispathch映射表中

    3 结语

    后来项目采用qt开发了,qt可以使用webengine(具有Chrome内核特征)来调用页面,交互可以使用qwebchannel。感觉更清晰明了了。

    参考文章:
    VC与JavaScript交互(一) ———— 如何实现_软件架构农-CSDN博客_vc与javascript交互
    VC与JavaScript交互(二) ———— 调用JS函数_encoderlee的博客-CSDN博客
    VC与JavaScript交互(三) ———— JS调用C++ - wgwyanfs - 博客园
    C++和JavaScript脚本的相互调用 - 我不是木鱼 - 博客园
    啊,这篇文章突然被加密了。。。
    C++/JS混合开发_冷月醉雪的博客-CSDN博客_c++ js
    截取自C++/JS混合开发其中的片段。

    相关文章

      网友评论

          本文标题:c++混合js编程

          本文链接:https://www.haomeiwen.com/subject/ecqlqdtx.html