我有一个CDHTMLDialog,其中包含2个HTML页面和一个带有几个相当简单功能的.js文件。
我想要能够通过传递一个简单的数据类型来从程序中调用其中一个JS函数,例如MyFunc(int)。不需要返回任何内容。
我希望能得到如何实现这一点的指导,
谢谢。
编辑:感谢CR的回答,还有其他提交想法的人。最终类似以下代码能够运行(为了清晰起见,省略了少量错误处理):
我想要能够通过传递一个简单的数据类型来从程序中调用其中一个JS函数,例如MyFunc(int)。不需要返回任何内容。
我希望能得到如何实现这一点的指导,
谢谢。
编辑:感谢CR的回答,还有其他提交想法的人。最终类似以下代码能够运行(为了清晰起见,省略了少量错误处理):
void callJavaScriptFunc(int Fruit)
{
HRESULT hRes;
CString FuncStr;
CString LangStr = "javascript";
VARIANT vEmpty = {0};
CComPtr<IHTMLDocument2> HTML2Doc;
CComPtr<IHTMLWindow2> HTML2Wind;
hRes = GetDHtmlDocument(&HTML2Doc);
hRes = HTML2Doc->get_parentWindow(&HTML2Wind);
if( Fruit > 0 )
{
FuncStr = "myFunc(808)"; // Javascript parameters can be used
hRes = HTML2Wind->execScript(FuncStr.AllocSysString(), LangStr.AllocSysString(), &vEmpty);
}
}