各位:请问有什么办法可以将webbrowser控件打开的网页内容保存成HTML源文件到本地??谢谢

解决方案 »

  1.   

    // 这个很简单,代码如下:
    // 注意要引用mshtml单元,否则编译不了
    1. 保存为文本文件:
       IHtmlDocument2(WebBrowser1.Document).Body.outerText
    2. 保存为html
       IHtmlDocument2(WebBrowser1.Document).Body.outerHTML
      

  2.   

    嗯,向 wxsan 同志学习!
      

  3.   

    谢谢wxsan,非常感谢!其实我是在做邮件客户端。用Indy控件做的。使用Webbrowser作为编辑器编辑邮件正文,然后发送。但去网页上收看时,却发现所发的邮件内容要么是乱码,要么就是把HTML代码显示出来了。如:我在webbrowser中输入一句话作为正文: this is a test mail.发送时的代码为:
        With Msg do
        begin
          Body.Clear;
          Body.Add((webbrowser1.Document as IHTMLDocument2).body.outerHTML) ;
          From.Text := MailAccount.EmailAddress;
          ReplyTo.EMailAddresses := MailAccount.EmailAddress;
          Recipients.EMailAddresses := edtRecipients.Text; { To: header }
          Subject := edtSubject.Text; { Subject: header }
          Priority := TIdMessagePriority(cbbPriority.ItemIndex); { Message Priority }
          CCList.EMailAddresses := edtCc.Text; {CC}
          ReceiptRecipient.Text := '';
        end;
        .....
        With SMTP do
        begin
          Connect;
          Send(IdMsgSend);
          Disconnect;
        end;
        .....
    但是发送成功后,去网页收到的却是不正常的。收到的结果为:<BODY>this is a test mail.</BODY>怎么看上去像是浏览器直接把邮件下文的HTML代码显出来了?
    有哪位高手赐教一下,,不胜感激。
      

  4.   

    ExecWB这个函数如何能做到,
    能说的详细点吗?
      

  5.   

    with Msg do
    begin
    ...
    contenttype := 'text/html';
    ...
    end;如果是普通的不带有附件的邮件,可以直接指定类型为text/html就可以了