关于IE的简单问题(50分)

  • 主题发起人 主题发起人 lig
  • 开始时间 开始时间
L

lig

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠好:
请问
如何判断IE浏览器当前正在浏览的页面地址。
如何使新页面在新窗口打开。
我剩下的分不多了,只能给你20分
 
在IE中空白处右击--属性可看到正在浏览的页面地址。
在打开链接时按住Shift或右击链接--在新页面打开即可。
如果说是要用程序实现,俺也想知道。
 
如果是要用程序实现,要用javascript(或VBscript)

window.location.URL 返回当前连接地址;
window.open 打开新窗口!
 
以VB为例子:

在工程中加入对Internet Explorer的引用之后,对于产生的对象假设是叫ie5,
使用属性LocationURL可以获得当前的地址;
使用Navigate方法,其中的第二个参数flags的值取navOpenInNewWindow即可。

Good luck!
 
最好的办法是通过DDE得到浏览器正在访问的URL:

function URLInfo(sBrowerPrgFile, sServiceName: string; Netscape: boolean; var Title: string): pChar;
{
参数说明:
sBrowerPrgFile: 浏览器exe文件的完整路径名
sServiceName: 浏览器的DDE-Service名字
Netscape是'Netscape',IE是'iexplore'
Title: 返回当前网页的title
返回值: pChar的字符串
}
var
DDEClientConv: TDDEClientConv;
StartPtr, EndPtr: pchar;
browserWinName: string;
begin
result:= #0;
Title:= '';

if (sBrowerPrgFile = '') or (not FileExists(sBrowerPrgFile)) then
raise EBrowserNotFoundError.create('****!浏览器应用程序不存在!');

ddeClientConv:= TDDEClientConv.Create( nil );
try
with ddeClientConv do
begin
ServiceApplication := sBrowerPrgFile;
SetLink( sServiceName,'WWW_GetWindowInfo');
StartPtr:= RequestData('0xFFFFFFFF');
end;
finally
ddeClientConv.Free;
end;

if startPtr^ = #0 then
exit;
{skip leading "}
inc(StartPtr);
EndPtr:= StartPtr;
{proceed to next "}
while (EndPtr^ <> '"') do
inc(EndPtr);
{terminate URL string}
EndPtr^:= #0;
result:= StartPtr;
{skip ","}
StartPtr:= EndPtr+3;
if Netscape then
inc(StartPtr,12);

EndPtr:= StartPtr;
if Netscape then
while (EndPtr^ <> ']') do
inc(EndPtr)
else
while (EndPtr^ <> '"') do
inc(EndPtr);

EndPtr^:= #0;
Title:= strPas(StartPtr);
end;
 
bnuhero和cAkk的回答各有特色,各给加25分吧。
 
to bnuhero:

我在 delphi5中加入了 micsoft internet controls,
在窗口上放入此控件internetExplorer.当进入IE
后无任何反映?现有几个问题请教(我可以在大富翁中给你加分,要多少给多少,急阿!!)
1. 从import type lib中加入的micsoft internet controls,对不对
2.navigate是什吗方法?你能给与详细的用法吗?
3.netscape 如何知道url,有无控件?
 
我正在研究!!!
 
我正在研究!!! 已经有了总体思路..
似乎必须用javascripe...
但如何得到ie的url的onchange消息????
 
后退
顶部