CPPWebBrowser怎么执行脚本

cczlp 2009-11-12 11:54:21
execScript,知道有这个函数, 怎么用
Delphi 下是
wb1.OleObject.Document.parentWindow.execScript('fun( 0 )', 'javascript');
...全文
169 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2009-11-12
  • 打赏
  • 举报
回复
假设有网页文件内容如下:
<html>
<head></head>
<body>
<script type="text/javascript" language="javascript">
function fun(n)
{
alert(n + 100);
}
</script>
</body>
</html>

存为C:\ccrun\123.htm
然后在C++Builder6中new一个工程,放置一个CppWebBrowser和一个按钮在Form上,然后添加以下代码:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
CppWebBrowser1->Navigate(WideString("C:\\ccrun\\123.htm"));
}
//---------------------------------------------------------------------------
#include <mshtml.h>

bool __fastcall CrnExecuteScript(IHTMLDocument2 *pDoc, String strScript, String strLang)
{
IHTMLWindow2 *pWin;
VARIANT vRet;
bool bRet = false;

if (pDoc != NULL)
{
try
{
pDoc->get_parentWindow(&pWin);
if (pWin != NULL)
{
try
{
pWin->execScript(WideString(strScript), WideString(strLang), &vRet);
bRet = true;
}
__finally
{
pWin = NULL;
}
}
}
__finally
{
pDoc == NULL;
}
}
return bRet;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IHTMLDocument2 *spDoc = (IHTMLDocument2 *)(void *)CppWebBrowser1->Document;
if (spDoc)
{
CrnExecuteScript(spDoc, String("fun(10)"), String("javascript"));
}
}
肆水東澤 2009-11-12
  • 打赏
  • 举报
回复
好诱人的分数啊,可惜不会,帮顶吧。

拷贝函数到BCB帮助里找找呗。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧