我在Delphi表单上有EmbeddedWB组件,并将其用作不同页面的webbrowser。
如果显示IHTMLelement
,是否有某种方法可以检查?
我知道ihtmlelement.style.display
属性,当它设置为'none'时,该元素不可见。
但是,如果它的parentelement,或者parentelement的parentelement(等等...)被隐藏了什么?
我能以某种方式检查它是否可见?
我的代码 - 无法正常使用
var
document:ihtmldocument2;
body:ihtmlelement2;
i:integer;
tag:ihtmlelement;
tags:IHTMLElementCollection;
...
document:=embeddedwb.document as ihtmldocument2;
body:=document.body as ihtmlelement2;
if assigned(body) then begin
Tags := Body.getElementsByTagName('*');
for i := 0 to Tags.length-1 do
begin
try
Tag := Tags.item(I, EmptyParam) as IHTMLElement;
except
tag:=nil;
end;
if tag.style.display<>'none' then begin
// this condition is not good, because the tag.style.display is usually set to '' so it not telling me, if the tag is really visible or not...
...
...
感谢您的建议
答案 0 :(得分:1)
好的,我解决了......
添加变量tag2: IHTMLElement2;
tag2:=tag as ihtmlelement2;
if tag2.currentstyle.display<>'none' then ...
解决了我的问题