社区
HTML/XML
帖子详情
如何通过IHTMLDocument2接口获取网页中的meta信息
sblsongdongf
2006-02-13 08:45:10
VC 7.0环境, IE
...全文
238
2
打赏
收藏
如何通过IHTMLDocument2接口获取网页中的meta信息
VC 7.0环境, IE
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
蒋晟
2006-02-14
打赏
举报
回复
HRESULT TBaseWebBrowserPageletCtrl::GetMetaCollection(IHTMLElementCollection** pCollec, IHTMLDocument2* pDocument)
{
CComPtr<IDispatch> lDispatch;
CComQIPtr<IHTMLDocument2> lDocument;
HRESULT lResult;
if (pDocument == NULL)
{
if (!m_BrowserTree)
return E_FAIL;
lResult = m_BrowserTree->get_Document(&lDispatch);
lDocument = lDispatch;
lDispatch = NULL;
ASSERT(SUCCEEDED(lResult) && lDocument);
if (FAILED(lResult) || (lDocument == NULL))
return E_FAIL;
}
else
{
lDocument = pDocument;
}
CComPtr<IHTMLElementCollection> lCollec;
lResult = lDocument->get_all(&lCollec);
ASSERT(SUCCEEDED(lResult) && lCollec);
if (FAILED(lResult) || (lCollec == NULL))
return E_FAIL;
lResult = lCollec->tags(CComVariant("META"), &lDispatch);
return lDispatch->QueryInterface(pCollec);
}
HRESULT TBaseWebBrowserPageletCtrl::CheckMetaTags()
{
CComQIPtr<IHTMLElementCollection> lCollec;
CComQIPtr<IHTMLMetaElement> lMetaElement;
CComPtr<IDispatch> lDispatch;
HRESULT lResult;
long lIndex = 0;
long lLength = 1;
lResult = GetMetaCollection(&lCollec);
if (SUCCEEDED(lResult) && lCollec)
{
lResult = lCollec->get_length(&lLength);
ASSERT(SUCCEEDED(lResult));
}
while (lIndex < lLength)
{
if (lCollec)
{
lResult = lCollec->item(CComVariant(lIndex), CComVariant(), &lDispatch);
lMetaElement = lDispatch;
lDispatch = NULL;
ASSERT(SUCCEEDED(lResult) && lMetaElement);
}
if (SUCCEEDED(lResult) && lMetaElement)
{
//
CComBSTR lName;
lResult = lMetaElement->get_name(&lName);
if (SUCCEEDED(lResult)
&& lName
&& (!wcsicmp(CComBSTR(KEEBOO_PRODUCT_NAME), lName)
|| !wcsicmp(CComBSTR(KEEBOO_COMPANY), lName)))
{
CComBSTR lMetaContent;
lResult = lMetaElement->get_content(&lMetaContent);
if (SUCCEEDED(lResult) && lMetaContent)
{
if (!wcsicmp(L"no-stretch", lMetaContent))
{
m_bNoStretch = TRUE;
}
else if (!wcsicmp(L"no-cache", lMetaContent))
{
CComQIPtr<IPageletSink> lPageletSink(m_pControlSite);
if (lPageletSink)
{
CComObject<TDeleteCacheEntryCallback>* lCallback;
CComQIPtr<IPageletDestroyCallback> lCBInterface;
CComObject<TDeleteCacheEntryCallback>::CreateInstance(&lCallback);
lCallback->SetPage(getModel());
lCBInterface = lCallback;
lPageletSink->SetDestroyCallback(lCallback);
}
}
else
{
TModelPtr<TPropertyObjectModel> lProp;
TModelPtr<TContentModel> lContentModel;
if (!wcsicmp(L"online-reload", lMetaContent))
{
getModel()->getContent(&lContentModel);
GetModelProperty<TContentModel>(lContentModel, T_CONTENT_NETWORK_PROPERTIES, &lProp, TRUE);
ASSERT(lProp);
if (lProp)
lProp->putBooleanField("online-reload", true);
}
else if (!wcsicmp(L"online-flush", lMetaContent))
{
getModel()->getContent(&lContentModel);
GetModelProperty<TContentModel>(lContentModel, T_CONTENT_NETWORK_PROPERTIES, &lProp, TRUE);
ASSERT(lProp);
if (lProp)
lProp->putBooleanField("online-flush", true);
}
}
}
}
}
lIndex++;
}
return S_OK;
}
I
HTML
Document
2 IE浏览器编程
执行script: I
HTML
Document
2 *p
HTML
Document
=NULL; if (!(p
HTML
Document
= (I
HTML
Document
2*)m_Ie.get_
Document
())) //
获取
I
HTML
Document
2 的
接口
指针 return; CString sScript = L"window.open(\'http
根据Internet Explorer_Server窗口得到I
Html
Document
2
接口
#include <ms
html
.h> #include <atlbase.h> #include <oleacc.h> BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam) { TCHAR buf[100]; ::GetClassName( hwnd, (LPTSTR)&am...
前端面试题目汇总摘录(
HTML
和 CSS篇)
温故而知新,保持空杯心态
HTML
和 CSS 你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么 浏览器名称 内核 IE trident Firefox(火狐) gecko Safari webkit Opera 以前是 presto ,现在已改用 Google Chrome 的 Blink 内核 Chrome(谷歌) Blink(基于 webkit...
用Twebbrowser做可控编辑器与MS
HTML
首先要明白ms
html
的属性方法: {I
HTML
Document
2 方法:} write //写入 writeln //写入并换行 open //打开一个流,以收集
document
.write 或
document
.writeln 的输出 close /...
Delphi
网页
数据提取工具的实现与应用
多线程是指在一个程序
中
,同时运行多个线程来执行不同的任务。在Delphi
中
,线程是通过TThread类的派生类来实现的。多线程的主要优势包括:并行执行:线程可以在不同的处理器核心上并行运行,实现真正的并行处理。资源效率:线程共享同一进程的资源,如内存,降低了资源使用成本。响应性:用户界面线程可以保持对用户输入的响应,而其他线程处理耗时的任务。灵活性:对于复杂的应用程序,多个线程可以更容易地解决并行任务和分时任务。
HTML/XML
3,056
社区成员
8,075
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章