DcefBrowser浏览器控件js调用delphi方法详解步骤
1、新增被调用类及方法 (比如项目工程文件 JsInteract.dproj)
新增
type
TClient = class
class procedure DoTest(aName: string);
end;
实现
class procedure TClient.DoTest(aName: string);
var
a: string;
begin
a := aName; //get aName from js
Application.MessageBox(PChar('入参是:' + a), 'JS调用DELPHI提示', MB_TOPMOST + MB_ICONINFORMATION);
end;
2、启动初始化前(项目工程文件比如program JsInteract;)
var
iHigh: Integer;
aObjList: array of TClass;
DcefBApp.CefSingleProcess := False;
iHigh := High(aObjList);
SetLength(aObjList, iHigh + 2);
aObjList[iHigh + 1] := TClient;
DcefBApp.RegisterClasses(aObjList);
if not DcefBApp.Init then
Exit;
3、测试web页面 test.html
<!DOCTYPE html>
<html>
<head>
<meta charset="GBK">
<title>设置</title>
<link rel="stylesheet" href="../css/pc.css"/>
</head>
<body>
<button type="button" onClick="alert('1');TClient.DoTest('ABC9你好');alert('2');">Click Me!</button>
</body>
</html>
4、delphi测试界面
拉一个 DcefBrowser1 控件
加载刚才测试web页面 test.html
DcefBrowser1.AddPage('file:///C:/Users/think/Desktop/test.html');
5、点击加载的测试web页面上的按钮[Click Me!]
预期结果是三个弹框
【1】
【入参是:ABC9你好】
【2】
|