EmbeddedWB 和 webBrowser 关于 无法顺利 执行网页里 windows.open 命令
okgxs 2010-04-15 01:41:47 我用EmbeddedWB 和 webBrowser
这个两个控件都测试了,网页中的
onClick="window.open('UserModifyOther.php', '其他个人信息', 'top=300, left=300, height=210, width=380, toolbar=no, menubar=no, resizable=no, location=no, status=no')">查看/修改</a></td>
这个命令
webBrowser 能显示 。
EmbeddedWB 都无法显示
webBrowser 代码如下:
procedure Tfrm_p.Main_WebBrowserNewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
i ,IndexID,PageID: integer;
begin
Try
i := PageWebClient.PageCount ;
if CreateNewWebPopWindows('',IndexID,PageID) then
begin
PageWebClient.ActivePageIndex := PageID;
NewFrameWebPopWindows[IndexID].btn_goBack.Enabled := False;
ppDisp := NewFrameWebPopWindows[IndexID].pop_WebBrowser.Application;
end;
Except
end;
end;
EmbeddedWB 代码如下:
procedure Tform1.NewWindow2Event(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
CreateNewTabBrowser(TabSheetEx.EWB.LocationURL);
PageControl1.ActivePage := TabSheetEx;
ppdisp := TabSheetEx.EWB.Application;
ppdisp := System.IDispatch(ppDisp);
end;
procedure TForm1.CreateNewTabBrowser(Url: string);
begin
TabSheetEx := TTabSheetEx.Create(PageControl1);
with TabSheetEx do
begin
PageControl := PageControl1;
EWB := TEmbeddedWB.Create(TabSheetEx);
Caption := 'Loading..';
//system.IDispatch;
TOleControl(TabSheetEx.EWB).Parent := TabSheetEx;
PageControl1.ActivePage := TabSheetEx;
with EWB do
begin
LoadSettings;
Align := alClient;
OnStatusTextChange := StatusTextChangeEvent;
OnNewWindow2 := NewWindow2Event;
OnDownloadComplete := DownloadCompleteEvent;
OnCommandStateChange := CommandStateChangeEvent;
if (URL) <> '' then
Go(URL);
end;
end;
end;