中国开发网: 论坛: Delphi/BCB: 贴子 507894
pcplayer: JavaScript 响应插件的事件 by pcplayer 原创
让 javaScript 响应插件的事件:

1. 为插件增加事件:在 Active Form 上放一个按钮,我们准备按下这个按钮后,通过事件通知页面上的 JavaScript。
1.1. 在 delphi IDE 里选中 xxx.tlb 单元(插件的COM接口描述单元),按 F12 ,弹出 Type Library 窗
口;
1.2. 在 Type Library 窗口里,找到 xxxEvents 节点,拉开,鼠标右键点下去,选择菜单 new - method,然后
为那个 new 出来的命令,比如叫做:OnBtnClick
1.3. 在刚才那个按钮的 OnClick 事件里写代码:
If FEvents <> Nil Then
Begin
FEvents.OnBtnClick; // OnSubmit is the new event
End;

关于 Active Form 插件的部分写完了。编译。

2. 在网页里响应插件的事件:
2.1. 网页里要用 JavaScript 和插件交互,必须为插件命名,默认是没有命名的:
<OBJECT
classid="clsid:B8F0C99B-C731-4CA0-807A-836331810CC7"
codebase="http://localhost/DelphiForm/
TestActiveFormProj1.ocx#version=2,0,16,0"
width=450
height=450
align=center
hspace=0
vspace=0
id="DelphiForm" <----- 增加这个命名。JS访问插件用。
>
</OBJECT>

在页面的随便什么地方加上响应事件的 JS 代码:

<SCRIPT LANGUAGE="JavaScript" EVENT="OnBtnClick" FOR="DelphiForm">

alert("按钮 Click");

</SCRIPT>

上述 JS 代码中,规定了事件 Event 的名字是插件输出的那个事件的名字 OnBtnClick;并且用 FOR 指出是一个叫做
DelphiForm 的插件。这个名字既是整个插件在这个页面里的ID。

打开页面后,按下页面上插件的按钮,果然 alert 被执行了!

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录