[加分了,500大洋] 在ActiveForm(IE)中如何获取自己任一实例的IHTMLElement接口? (200分)

  • 主题发起人 主题发起人 pihome
  • 开始时间 开始时间
P

pihome

Unregistered / Unconfirmed
GUEST, unregistred user!
如网页中:
<object ... id="object1"></object> //id是不可预知,且可能为空,
<object ... id="object2"></object>
我怎么在ActiveForm中得到本实例的 ID 是什么?有了ID,就很容易得到对应的IHTMLElememt了。
如果页面中只存在1个对象,那么在我们可以很容易的遍历所有的IHTMLElement,如果这个IHTMLElement.tagName='object' 并且 classid = ActiveForm 定义的 GUID,那么这个IHTMLElement就是我们所需要的了
但如果在一个页面中存在此ActiveForm的多个实例,那么我们又如何分别得到每一个实例对应的IHTMLElement呢?

这个问题提出有两周了,但没什么人回答,看来需要多给点分才有人出手了[:D]

我自己想了个办法,就是在ActiveForm用一个变量记录下被创建的顺序,根据这个顺序遍历得到对应的IHTMLElement:)
我想知道,除了这个办法之外,有没有更直接一点的方法得到我想要的结果呢?
 
frame(iframe).document
 
TO wanglogon:
不是frame的关系。。。
比如说吧,在页面中有
<object ... id="object1"></object> //id可能为空
<object ... id="object2"></object>
那么我如何在ActiveX中知道自己是object1还是object2呢?又如何取得其IHTMLElement呢?
 
比较土的办法,你在ACTIVEFORM中设一个全局参数.在网页调用时通过参数传给ACTIVEFORM.
这样,就可以通过改变网页来改变ACTIVEFORM的自身的名称了!
 
就是因为我无法预知ActiveX在HTML中的名称,我也不可能要求别人都这么写,我想应该是有办法取得的,只是我不知道而已。。。
 
ActiveForm已经过时了,.net不是很好
 
结帖算了
 
多人接受答案了。
 
后退
顶部