delphi 向webbrowser打开的网页中插入js命令
-------------------------------------------------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls,MSHTML;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Edit1: TEdit;
Button1: TButton;
WebBrowser1: TWebBrowser;
WebBrowser2: TWebBrowser;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate(edit1.Text );
end;
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp := WebBrowser2.Application;
end;
procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser1.Navigate(string(URL)); // 再指回WebBrowser1
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
(WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript(
memo1.text, 'javascript')
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser2.Left := -WebBrowser2.Width; {隐藏 WebBrowser1}
memo1.Text :='';
end;
end.

博客介绍了Delphi向WebBrowser打开的网页中插入JS命令的方法。给出了具体的代码实现,包括单元引用、窗体组件定义、按钮点击事件及网页导航、新窗口处理、脚本执行等相关过程,以实现向网页插入JS命令的功能。
775

被折叠的 条评论
为什么被折叠?



