activex控件中调用html页面中的javascript
来源:互联网 发布:php电商开源系统 2017 编辑:程序博客网 时间:2024/05/16 12:10
activex控件中调用html页面中的javascript(转)
关于delphi中开发activex控件,并从activex控件中调用html页面中的javascript。
这几天在搞个需要activex控件来实现的项目,丫丫的activex控件应该属于都快被人遗忘的技术了。
delphi中开发activex控件其实挺简单的,唯一的问题就是怎么调用页面中的javascript呢。
搜了n久发现一个c++写的通过接口调用方法,看上去贼复杂。
其实delphi中调用页面上的javascript贼简单。
方法如下:
1.创建一个方法->SetDoc->procedure SetDoc(const Doc: IUnknown); safecall;
用了一个IUnknown类型.
2.就一句话将IUnknown转成IHTMLDocument2->代码如下:
procedure TCxty_Lib.SetDoc(const Doc: IUnknown);begin if Assigned(Doc) then begin HTMLDoc := IHTMLDocument2(Doc as IHTMLDocument); end;end;
注意前头要申明一个 HTMLDoc ,是IhtmlDocument2类型,我申明在 private 中.
3.就是写一个调用javascript的方法咯,代码如下:
procedure TCxty_Lib.CallJavascript(script: string);var win: IHTMLWindow2;begin if not Assigned(HTMLDoc) then Exit; win := HTMLDoc.parentWindow; if not Assigned(win) then Exit; win.execScript(script, 'JavaScript');end;
delphi部分就已完成.
贼简单吧,还没完重要的在html页面上,代码如下:
创建OBJECT
<OBJECT classid="clsid:C15DFE4C-B668-4178-A64B-3945365725F2" codebase="Cxty_LibProj1.ocx#version=1,0,0,0" width=0 height=0 align=center hspace=0 vspace=0 id="Cxty"></OBJECT><SCRIPT LANGUAGE="JavaScript">var Yannyo_Net = document.getElementByIdx('Yannyo_Net');Yannyo_Net.SetDoc(document);//这句就吧页面上的document传给了activex,然后activex就为所欲为了.</SCRIPT>
activex中调用脚本的时候只需调用 CallJavascript('javascript函数名称(参数)');
- activex控件中调用html页面中的javascript
- JavaScript中调用C# ActiveX控件中的方法
- ActiveX控件调用网页JavaScript中的函数
- 在html中调用ActiveX控件
- C# ActiveX控件中调用JavaScript方法
- c#Activex控件中调用JavaScript
- c# ActiveX控件中调用javaScript方法
- JavaScript调用ActiveX控件
- C#开发的ActiveX控件调用页面javascript
- C#开发的ActiveX控件调用页面javascript
- [C#]ActiveX控件调用页面上的JavaScript
- ActiveX中调用JavaScript
- VS2010创建ActiveX控件并在html中调用
- 如何在 ActiveX 控件中调用页面的 Jscript 函数
- HTML中插入ActiveX控件
- 页面调用OCX(ActiveX)控件,自动下载、注册及 javascript对ActiveX的访问、控制和事件调用等。
- html页面通过ActiveX控件调用摄像头实现拍照上传demo代码下载
- FTP activeX控件及页面调用
- ARM 开发板 与 PC机ubuntu系统 nfs 挂载
- Mysql的大小写敏感性
- C语言:从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出
- Android:New Layout Widgets: Space and GridLayout
- Data Guard 日志传输模式
- activex控件中调用html页面中的javascript
- Error: ShouldNotReachHere()
- 内存映射文件
- 使用MBProgressHUD引发"self.navigationController.view为nil"的血案
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- 实战:验证 SCSI-3永久保留失败
- typedef与define的思考 .
- PCI驱动
- Linux开启DMA模式