FreeFly:
分数要给我!你这问题我已经问过,而且,代码已经成功!
感谢DreamTiger,
搞定!
e:/temp/1.htm为:
《p》
《input type="button" value="Button1" name="B1" onclick="location='b1.htm'"》
《input type="button" value="Button2" name="B2" onclick="location='b2.htm'"》
《input type="button" value="Button3" name="B3" onclick="location='b3.htm'"》
《input type="button" value="Button4" name="B4" onclick="location='b4.htm'"》
《/p》
程序:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OleCtrls, SHDocVw,MSHtml;
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
public
bLoaded:boolean;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure cancelLink;
begin
ShowMessage('Click');
end;
//调入需要的页面
procedure TForm1.Button1Click(Sender: TObject);
begin
bLoaded := false;
WebBrowser1.Navigate('file://e:/temp/1.htm');
bLoaded := true;
end;
//检查调入的页面
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
var
sUrl:string;
begin
if bLoaded then //如果bLoaded = false,表示是正常程序调入页面
begin
//bLoaded = true,是用户单击Button进行浏览。
sUrl := String(URL);
//可以根据sUrl来判断用户点击了那个Button。
//也可以根据sUrl来判断是否应该继续浏览页面
//这里假设页面只有button,不再继续浏览。
Cancel := true;
ShowMessage(sUrl);
end;
end;
end.