比如将以下html源码保存为一个htm文件,然后用WebBrowser打开,我想得到他的源码,得到的源码要求和使用鼠标右键点击“查看源文件”菜单的一样<html>
<frameset border=0 frameborder=0 frameSpacing=0 rows=100%>
<frame marginHeight=5 marginWidth=10 name=mainsoft src="http://www.sunroom.com.cn/index.asp?rec=700_32">
</frameset>
</html>

解决方案 »

  1.   

    web:twebbrowser;
    .....
    memo1.Lines.Text:=IHtmlDocument2(web.document).body.outerHTML;
    ....
      

  2.   

    楼上的,你试过没有呢?用这种方法得到的html源码和“查看源文件”菜单得到的完全不一样
      

  3.   

    get/save the HTML Code from a TWebbrowser? uses
      ActiveX;function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
    var
      ps: IPersistStreamInit;
      fs: TFileStream;
      sa: IStream;
    begin
      ps := WebBrowser.Document as IPersistStreamInit;
      fs := TFileStream.Create(FileName, fmCreate);
      try
        sa := TStreamAdapter.Create(fs, soReference) as IStream;
        Result := Succeeded(ps.Save(sa, True));
      finally
        fs.Free;
      end;
    end;function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
    var
      ps: IPersistStreamInit;
      ss: TStringStream;
      sa: IStream;
      s: string;
    begin
      ps := WebBrowser.Document as IPersistStreamInit;
      s := '';
      ss := TStringStream.Create(s);
      try
        sa := TStreamAdapter.Create(ss, soReference) as IStream;
        Result := Succeeded(ps.Save(sa, True));
        if Result then ACode.Add(ss.Datastring);
      finally
        ss.Free;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      WB_SaveHTMLCode(Webbrowser1, 'c:\test.txt');
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      WB_GetHTMLCode(Webbrowser1, Memo1.Lines);
    end;
      

  4.   

    to  aiirii(ari-爱的眼睛) 
    经测试,这两个方法得到的源码还是和原来一样,
    <html>
    <frameset border=0 frameborder=0 frameSpacing=0 rows=100%>
    <frame marginHeight=5 marginWidth=10 name=mainsoft src="http://www.sunroom.com.cn/index.asp?rec=700_32">
    </frameset>
    </html>
    和“查看源文件”菜单得到的不一样
      

  5.   

    发消息!!看我这个帖子里的http://community.csdn.net/Expert/TopicView3.asp?id=3720280
      

  6.   

    if find (frameset ) then...
      

  7.   

    还是蛮多人在研究这东东的 ̄ ̄ ̄http://community.csdn.net/Expert/TopicView3.asp?id=3720280
      

  8.   

    to jackie168(花好月圓)
    上面提到可以用
    SendMessage(vHandle, WM_COMMAND, IDM_VIEWSOURCE, 0);
    得到源文件,不知具体如何实现呢?
      

  9.   

    查看源文件会显示当前活动框架的源文件。
    参考http://www.euromind.com/iedelphi/embeddedwb/framefunctions.htm