首页 > 编程语言 > 详细

在 Delphi 中调用 JavaScript(1) - 回复

时间:2021-05-27 22:20:37      阅读:24      评论:0      收藏:0      [点我收藏+]
在 Delphi 中调用 JavaScript(1) - 回复 "fancy" 的问题 ? ?

问题来源: http://www.cnblogs.com/del/archive/2008/07/30/1256669.html#1272732



源码下载: http://files.cnblogs.com/del/Dephi-JavaScript.rar



本例测试用的 Html 文件(包含三个要测试的 Js 函数):




本例效果图:

技术分享图片



代码文件:


unit?Unit1;

interface

uses
??Windows,?Messages,?SysUtils,?Variants,?Classes,?Graphics,?Controls,?Forms,
??Dialogs,?StdCtrls,?OleCtrls,?SHDocVw;

type
??TForm1?=?class(TForm)
????WebBrowser1:?TWebBrowser;
????Button1:?TButton;
????Button2:?TButton;
????Button3:?TButton;
????procedure?FormCreate(Sender:?TObject);
????procedure?Button1Click(Sender:?TObject);
????procedure?Button2Click(Sender:?TObject);
????procedure?Button3Click(Sender:?TObject);
??end;

var
??Form1:?TForm1;

implementation

{$R?*.dfm}

procedure?TForm1.FormCreate(Sender:?TObject);
var
??HtmlPath:?string;
begin
??WebBrowser1.Left?:=?-WebBrowser1.Width;?{隐藏?WebBrowser1}
??HtmlPath?:=?ExtractFilePath(ParamStr(0))?+?‘Test.htm‘;
??WebBrowser1.Navigate(HtmlPath);
end;

procedure?TForm1.Button1Click(Sender:?TObject);
var
??str:?Variant;
begin
??str?:=?WebBrowser1.OleObject.document.parentWindow.JsStr2(‘12345‘);
??ShowMessage(str);
end;

procedure?TForm1.Button2Click(Sender:?TObject);
var
??num:?Variant;
begin
??num?:=?WebBrowser1.OleObject.document.parentWindow.JsNum2(4);
??ShowMessage(num);
end;

procedure?TForm1.Button3Click(Sender:?TObject);
begin
??WebBrowser1.OleObject.document.parentWindow.JsMsg(‘ABC‘);

??{也可以这样:}
??WebBrowser1.OleObject.document.parentWindow.execScript(‘JsMsg("ABCDEFG")‘,?‘JavaScript‘);
end;

end.

窗体文件:


object?Form1:?TForm1
??Left?=?0
??Top?=?0
??Caption?=?‘Form1‘
??ClientHeight?=?167
??ClientWidth?=?280
??Color?=?clBtnFace
??Font.Charset?=?DEFAULT_CHARSET
??Font.Color?=?clWindowText
??Font.Height?=?-11
??Font.Name?=?‘Tahoma‘
??Font.Style?=?[]
??OldCreateOrder?=?False
??Position?=?poDesktopCenter
??OnCreate?=?FormCreate
??PixelsPerInch?=?96
??TextHeight?=?13
??object?WebBrowser1:?TWebBrowser
????Left?=?64
????Top?=?48
????Width?=?154
????Height?=?97
????TabOrder?=?0
????ControlData?=?{
??????4C000000EB0F0000060A00000000000000000000000000000000000000000000
??????000000004C000000000000000000000001000000E0D057007335CF11AE690800
??????2B2E126208000000000000004C0000000114020000000000C000000000000046
??????8000000000000000000000000000000000000000000000000000000000000000
??????00000000000000000100000000000000000000000000000000000000}
??end
??object?Button1:?TButton
????Left?=?104
????Top?=?40
????Width?=?75
????Height?=?25
????Caption?=?‘Button1‘
????TabOrder?=?1
????OnClick?=?Button1Click
??end
??object?Button2:?TButton
????Left?=?104
????Top?=?81
????Width?=?75
????Height?=?25
????Caption?=?‘Button2‘
????TabOrder?=?2
????OnClick?=?Button2Click
??end
??object?Button3:?TButton
????Left?=?104
????Top?=?120
????Width?=?75
????Height?=?25
????Caption?=?‘Button3‘
????TabOrder?=?3
????OnClick?=?Button3Click
??end
end

在 Delphi 中调用 JavaScript(1) - 回复

原文:https://blog.51cto.com/u_14617575/2823813

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!