[英]C++, Qt, QtWebKit: How to create an html rendering window so that your application would get callbacks from JS calls?
[英]C++, win32 api: How to create an html rendering window so that your application would get callbacks from JS calls?
我需要的很简单:我们有一个控制台应用项目。 我们希望有这样一个函数可以打开一个简单的窗口,只有html(基于默认系统)的html + js渲染窗口,它会读取一些默认的html + js字符串(表单字符串或const char *)。 我们想让我们自己的api与默认的js api结合,这样当JS调用一些our.function(argument);
我们会让我们的C ++应用程序执行一些函数,例如cout参数。 如何在Windows上创建这样的东西?
CoC创建HTML文档的MSHTML com对象:
CComPtr spDoc; HRESULT hr = CoCreateInstance(CLSID_HTMLDocument,NULL,CLSCTX_INPROC_SERVER,IID_IHTMLDocument2,(void **)&spDoc);
执行类似这样的操作来读取HTML字符串并使文档呈现它。
根据您在回调方面的需要,您可以使用COM DOM接口遍历树,然后接收相应的DispInterfaces以获取您感兴趣的元素上的事件。我建议这样做。
如果我在#3中的建议对你来说不够好(我想知道为什么),那么你可以实现自己的ActiveX控件,并按照raj的建议在你的页面调用方法上设置脚本。
除了任何安全/跨浏览器/平台问题,您可以使用在C ++中实现一个可以从javascript调用的ActiveX对象。
http://msdn.microsoft.com/en-us/library/7sw4ddf8(v=vs.94).aspx
WebBrowser
控件的主机可以提供可通过external
对象访问脚本的对象。
请参阅http://msdn.microsoft.com/en-us/library/aa770041.aspx#GetExternal
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.