WebBrowser 访问内嵌子页面Frame在XP下出错的问题。

蓝色光芒 2006-11-03 09:57:33
一下代码在2000下运行通过,但是到XP下出“拒绝访问”的错误
var
i,j:integer;
begin
OutMemo.Clear;
i:=WEB.oleobject.document.documentelement.document.frames.length;
OutMemo.Lines.Add('have Frames: '+inttostr(i));
for j:=0 to i-1 do
begin
OutMemo.lines.add('');
OutMemo.Lines.Add('Frame '+inttostr(j+1)+' from here');
OutMemo.Lines.Add(WEB.oleobject.document.
documentelement.document.frames.item(j).document.
documentelement.innerHtml);//取得每个Frame中的HTML内容
end;
end;

WEB访问的页面的HTML内容为:
<HTML>
<body>
aaaaaaaaaaaaaa
<iframe Src="http://localhost/" width=300 height=200 Name="Page1"></iframe>
<iframe Src="about:blank" width=300 height=200 Name="Page2"></iframe>
</body>
</html>

跟踪了一下,如果WEB.oleobject.document.documentelement.document.frames.item(j).document就这一项出错。
但是能够访问Page2也就是Frames.items(1)的内容

如果把HTML换成两个iframe的src都换成about:blank,程序就不会有问题。

开发环境:Delphi 7 , XP SP2
在2000下运行没问题,真是郁闷。XP SP1运行同样要出错。
...全文
292 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzd8310 2006-11-05
  • 打赏
  • 举报
回复
同意楼上
蒋晟 2006-11-03
  • 打赏
  • 举报
回复
在Internet区域选项中有跨域访问这一项的设置
localhost和about:blank所处的域不同
yi10000 2006-11-03
  • 打赏
  • 举报
回复
TWebBrowser 有三种运行模式,你可以都试试,

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧