如何得到网页中所有内嵌框架的IHTMLDocument2接口

如何得到网页中所有内嵌框架的IHTMLDocument2接口,第1张

IHTMLDocument2有个方法:HRESULT get_frames(IHTMLFramesCollection2 p)

原来我以为通过该方法可以得到网页内嵌框架的IHTMLDocument2接口,但试过不行!

后来找到一种方法,即通过IOleContainer接口的EnumObjects方法。代码如下:

void EnumFrame( IHTMLDocment2 pHTML )

{

CComQIPtr<IOleContainer> spContainer( pHTML );

if( spContainer )

{

CComPtr<IEnumUnknown> spEnumerator;

// 注:参数OLECONTF_EMBEDDINGS

// 表示列举容器内的所有嵌入对象

HRESULT hr = spContainer->EnumObjects(

OLECONTF_EMBEDDINGS, &spEnumerator);

if( spEnumerator )

{

CComPtr<IUnknown> spUnk;

ULONG uFetched;

while (spEnumerator->Next(1, &spUnk, &uFetched) == S_OK)

{

CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> spWB(spUnk);

if ( spWB )

{

ASSERT( spWB != m_spWebBrowser2 ) ;

CComPtr<IDispatch> spDocDisp;

hr = spWB->get_Document(&spDocDisp);

CComQIPtr<IHTMLDocument2> spHTML (spDocDisp) ;

if( spHTML )

{

EnumFrame( spHTML );

}}}}}

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>iframe</title>

</head>

<body>

<div style="width:1100px; margin:0 auto">

<iframe src=">

一个网站的内容嵌套到另一个网页中可以使用iframe框架实现 ,如下图,这样子就可以把对方的网页嵌套到你的网页里面展示了。

1、如下图代码

2、预览出来的页面效果

以上就是关于如何得到网页中所有内嵌框架的IHTMLDocument2接口全部的内容,包括:如何得到网页中所有内嵌框架的IHTMLDocument2接口、怎么在网页中嵌入另一个页面(在服务器端获取的页面)、如何将一个网站的内容嵌入另一个网站的页面中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9656895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存