VC++ 往Js中设HTML代码
原创
©著作权归作者所有:来自51CTO博客作者wellwy的原创作品,如需转载,请与作者联系,否则将追究法律责任
因为html代码中存在各种副号,不能直接将代码转换成字符串用形参传入。需要设置一个隐藏的控件,将需要传入的html代码设到控件中,再在js中读取代码。
CItemDescEditDlg::OnSetDesc(WPARAM wParam,LPARAM lParam)
{
l_desc * lpdesc = (l_desc *)lParam; // 需要设到js中的html代码的struct
CComPtr<IHTMLDocument2> pHtml = this->m_Browser.GetDocument();
if (pHtml)
{
CComPtr<IHTMLElementCollection> spAll;
pHtml->get_all(&spAll);
if (spAll)
{
CComPtr<IDispatch> lpDisp;
CComPtr<IHTMLElement> item;
spAll->item(CComVariant("Hidden_desc"), CComVariant((long)0), &lpDisp);
CComQIPtr <IHTMLElement> spElement = lpDisp;
if (spElement)
{
// 这里将代码设到隐藏的控件中去。
if (FAILED(spElement->put_innerText(CComBSTR(lpdesc->bsValue))))
{
XTRACEERROR(_T("Set Desc Info Error!"));
}
CComBSTR bsStr = _T("SetDestInfo()");
// 调用往js中设代码的JS函数
g_InvokeJS(this->m_Browser.GetDocument(),bsStr);
}
}
}
delete lpdesc;
return 0;
}
、、、、、、、、、、、、、、、、、、、、、、、
js设置:
隐藏控件:
<textarea name="Hidden_desc" id="Hidden_desc" style="height:0px; display:none">
</textarea>
//js函数
<script language="javascript">
function SetDestInfo()
{
ax.clear()
ax.insert(document.getElementByIdx_x_x_x("Hidden_desc").value)
};
</script>
上一篇:JavaScript 参考教程
下一篇:EA入门
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
VC ++ | VC++调试方法
【代码】VC ++ | VC++调试方法。
c++ 开发语言 java 数据操作 App -
在VC++中实现委托
以前使用Win32 SDK编程时,经常会遇到回调函数。比如,枚举窗口函数EnumWindows API就用到回调函数。回调函数_closure
vc++ callback 编译器 class pointers