在VC里调用javascript - VC/MFC / 基础类
void CWEHelperDlg::OnOK(){
CString code;
//调用VBSCRIPT,能弹出消息框,也能正确返回 hello
code = "function main()\r\n\tMsgBox \"ok\"\r\n\tmain=\"hello\"\r\nend function";
//调用Javascript,无法弹出消息框,返回值只是几个无法正常显示的字符(我跟踪了内存位置,确实不是我想要的结果
//code = "function main(){\r\n\talert('ok');\r\n\treturn 'hello'; \r\n}";
_variant_t ret = eval(code);
AfxMessageBox((CString)ret.bstrVal);
}
_variant_t CWEHelperDlg::eval(CString code){
_variant_t vReturn;
::IScriptControlPtr p(__uuidof(ScriptControl));
p.AddRef();
CString str = code;
str.MakeLower();
BOOL bVBScript = str.Find("end sub")>=0||str.Find("end function")>=0;
p->put_Language(_bstr_t(bVBScript?"VBScript":"JavaScript"));
p->AddCode(_bstr_t(code));
p->Eval(_bstr_t("main"), &vReturn);
p->Release();
return vReturn;
}
up
ding...
相关问答:
这是我的文本框
<input type="text" size="60" name="password_answer" id="pwdanswer" value="$!password_answer" >
提交按钮
<input clas ......
三个数x,y,z 比大小..
var x,y,z,t;
if (x>y)
{t=x;x=y;y=t;} //交换x,y的值
if(x>z)
{t=z;z=x;x=t;}//交换x,z的值
if(y>z)
{t=y;y=z;z=t;}//交换z,y的值
这是 ......
我的源文件如下:
<html>
<head> <title>show picture </title>
<script>
function change(fileName)
{
  ......
我手边有csdn论坛弹出信息窗口的代码(可以从http://www.codefans.net下载),但它显示的只是固定的信息,现在想改造一下以便能通过后台调用Sql Server 2000数据库自动将数据表中的信息作为弹出窗口显示的信息。csdn论 ......