重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
部分代码如下:
福建ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
在窗口及WebBrowser创建完以后,写此代码:
WebBrowser.OnNewWindow2:=IE1NewWindow2;
给主窗口创建一个方法:
procedure TBrowForm.IE1NewWindow2(Sender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);
Var NewForm:TBrowForm;
begin
try
NewForm :=TPopBrowerForm.Create(application);
NewForm.WebBrowser.OnNewWindow2 :=IE1NewWindow2;//如果在窗口的Oncreate事件
//有此代码,此处就可以省略
ppDisp := NewForm.WebBrowser.Application;
NewForm.Show;
Cancel:=false;
except
end;
end;
【首发答案】
在NewWindow事件中,
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
Dim newUrl = WebBrowser1.StatusText
'Dim newUrl = WebBrowser1.Url.AbsoluteUri '是这个还是上面那个的我忘了..你都试试..
WebBrowser1.Navigate(newUrl) '加载新的网址
e.Cancel = True '使外部浏览器无法捕获此事件
End Sub
这样写,每次点击按钮事件都会创建一个新的form。
你想要的效果是主窗口生命周期内,子form是一个。
根据这个你再考虑下怎么实现。比如主form加载时创建子form。点击事件中去获取子form的焦点。
你应该是这样写的:
Form2.Show()
Me.Close()
用hide:
Form2.Show()
Me.Hide()
webbrowser的newwindows中写代码
1 不弹出新窗口,但跳转到新网页
Set ppDisp = WebBrowser.Object
2 禁止弹出
cancel=true