EmbeddedWB使用的问题,如何判断链接是target='blank',还是没有,我想用以判断是否需要新开页面。

王麻子 2003-05-18 10:57:07
问题如上:
我们在使用IE时如果某个网页链接是有target='blank'设定的:
<a href='http://www.google.com' target='blank'>google搜索器</a>
则点开时新开一个窗口。而
<a href='http://www.google.com'>google搜索器</a>
则在当前窗口打开。
我的EmbeddedWB控件如何对此作出判断。
程序中我使用EmbeddedWB1.Go(TheNewUrl);这样的连接代码

另:在IE中如果按了shift再点这个连接无论有无target='blank'都会开新页如何实现。
...全文
70 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
INeedCa 2003-05-18
Set the onNewWindows Event when you create a WebBrowser: WB.OnNewWindows2 := YourProc;

In YourProc:
Create A New WB;
ppDisp := The New WB;

---
The events of WB are very useful.
You can see MSDN for more info about WB.
Good luck!
回复
888888888888 2003-05-18
关注
回复
INeedCa 2003-05-18
点击事件需要自己写吗? 

EmbeddedWB应该也是对IE的封装吧? 应该不需要你自己写Go这样的代码,如果是新开窗口,会触发OnNewWindow事件的,在那个事件中进行处理即可.
回复
王麻子 2003-05-18
这段代码是这样实现的:
procedure MainForm.MsOpenPage(var Message: TMessage);
var
L: array[0..MAX_PATH] of Char;
begin
GlobalGetAtomName(Message.LParam, L, 255);
CanCreateNewPage(L);
end;
procedure MainForm.CanCreateNewPage(const TheNewUrl: String);
begin
//我想是这里的条件不充分,不知道您能否给我点建议
if ((TEmbeddedWBForm(ActiveMDIChild).WB.LocationURL = 'about:blank') or
(WebTab1.Tabs[ActiveMDIChild.Tag]=BlankStr)) and
(WebTab1.Indexes[ActiveMDIChild.Tag]='-1') then
begin
TEmbeddedWBForm(ActiveMDIChild).WB.Go(AUrl);
IEAddress.Text := AUrl;
end else begin
LockWindowUpdate(Handle);
CreateNewPages(TheNewUrl);
GotoTop;
LockWindowUpdate(0);
end;
回复
相关推荐
发帖
网络通信/分布式开发
创建于2007-08-02

1573

社区成员

Delphi 网络通信/分布式开发
申请成为版主
帖子事件
创建了帖子
2003-05-18 10:57
社区公告
暂无公告