佚名通过本文主要向大家介绍了dispid,c dispid,dispid newwindow3,iframe加载完成事件,iframe 事件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在DISPID_BEFORENAVIGATE2事件中如何判断是否为IFRAME事件?
描述:
解决方案1:
描述:
如题!
我现在做的是在单个页面中是没问题的,但是如果一个页面中包含iframe,就会出现问题了,我想在DISPID_BEFORENAVIGATE2事件中判断如果是iframe就不进行任何操作,问题是不知道怎么做,GOOGLE了一下也没有结果.
期待大家的回复!
解决方案1:
DocumentComplete事件在Invoke时有个参数是当前iFrame的IWebBrowser2的接口指针,可以和整个页面的IWebBrowser2接口指针作比较。
解决方案2: CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> pDisp;
pDisp = pDispParams->rgvarg[1].pdispVal;
CComQIPtr<IUnknown, &IID_IUnknown> pUnkDisp;
pUnkDisp = pDisp;
CComQIPtr<IUnknown, &IID_IUnknown> pUnkBrowser;
pUnkBrowser = m_pWebBrowser2;//m_pWebBrowser2是SetSite中获得的接口
if(pUnkBrowser == pUnkDisp)
{
//执行操作
}
else
{
//不执行
}
您可能想查找下面的文章:
- 请问怎样在DISPID_AMBIENT_DLCONTROL中实现下载控制?
- 在DISPID_BEFORENAVIGATE2事件中如何判断是否为IFRAME事件?
- 请教各位,如何修改控件暴露的接口方法的dispid,具体描述见内。
- 想截取鼠标在IE工作区左键点击事件,可是每次都截取到超过5次DISPID_HTMLELEMENTEVENTS_ONCLICK事件
- DISPID起什么作用?
- 获取IE弹出窗口的问题(DISPID_NEWWINDOW2)
- 还有的DISPID叫啥名字呢?
- DISPID_BEFORENAVIGATE2事件
- 关于DISPID_ONADDRESSBAR
- 编译的时候说:DISPID_BEFORENAVIGATE2没有定义