清空IHtmlElement内容的问题

qiubolecn 2009-09-21 05:12:09
我得到了一个IHtmlElement,是一个BODY。想清空它的内容,增加自己的内容,

使用 put_innerHTML及 put_outerHTML均返回 0x800a0258错误。查了一下,有些是指tbody的内容是无法改的,看另一些人写的贴子,看有人这样改成功过


IHTMLElement *pElemBody = NULL;
m_MailContent->get_body(&pElemBody);
hr = pElemBody->put_outerHTML(CComBSTR("这是邮件的内容"));

于是我想增加自己的元素,删除body下所有的元素,发现不知道怎么删除元素。

增加可以的
CComBSTR Position1 = "AfterBegin";
CComBSTR URL1 = "<a href= >good morning</a>";


hr = pElemBody->insertAdjacentHTML(Position1, URL1);

想问一下大家,有没有什么办法,可以将BODY的内容全替换成自己的
...全文
247 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanweihuayan 2011-06-08
  • 打赏
  • 举报
回复
我现在想问一下你.将js动态加入到代码里面你是怎么实现的.我在实现的时候是在代码的开始直接定义了一个字符串(这里面就是js代码),但是如果js太长的话就出现问题了.我也试过和css一样使用绝对路径来增加资源但是没有成功.
yuanweihuayan 2011-06-08
  • 打赏
  • 举报
回复
真的谢谢你了.我也遇到了这个问题.现在解决了..
oyljerry 2009-09-22
  • 打赏
  • 举报
回复
实现IE APP异步可插入协议
qiubolecn 2009-09-22
  • 打赏
  • 举报
回复
已经搞定,可以通过

CComQIPtr<IHTMLDOMNode> pNode = pElemBody;
if (pNode)
{
CComPtr<IHTMLDOMNode> pchildNode = NULL;
CComPtr<IHTMLDOMNode> pLchildNode = NULL;

while(SUCCEEDED(pNode->get_firstChild(&pchildNode)))
{
hr = pNode->removeChild(pchildNode, &pLchildNode);
pchildNode = NULL;
pLchildNode = NULL;
if(FAILED(hr))
break;
}
}

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧