DcefBrowser浏览器控件js调用delphi方法详解步骤

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】



联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678