1. 有没有不使用CDO保存页面为mhtml的?在网上搜索了10多天,没有找到
2. 在WebBrowser加载html页面完成后, 我想在页面顶端加一个Table,显示一些信息,有没有方法做到?
3. 怎样实现页面编码菜单? 希望可以通过代码, 而不是一个编码一个编码的自己做菜单, 然后写处理代码
4. 安全控制有没有介绍的文章或者例子, 想对Java Script/Applet/ActiveX/Image等分别做单独的限制, 可以控制是否下载这些

解决方案 »

  1.   

    第一个问题,通过分析mht文件的格式,应该可以解决了还有几个问题,请帮忙
      

  2.   

    >>2. 在WebBrowser加载html页面完成后, 我想在页面顶端加一个Table,显示一些信息,有没有方法做到?append HTML Text to a TWebbrowser Document?{1. ----------------------------------------------------------------}uses
      MSHTML;procedure TForm1.Button1Click(Sender: TObject);
    var
      Range: IHTMLTxtRange;
    begin
      Range := ((WebBrowser1.Document as IHTMLDocument2).body as
        IHTMLBodyElement).createTextRange;
      Range.collapse(False);
      Range.pasteHTML('<br><b>Hello!</b>');
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      Webbrowser1.Navigate('www.google.ch');
    end;{----------------------------------------------------------------}
    {2. ----------------------------------------------------------------}
    unit Unit1;
    // by Sprintinterface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, SHDocVw, MSHTML, StdCtrls;
    type
      TForm1 = class(TForm)
        WebBrowser1: TWebBrowser;
        procedure FormCreate(Sender: TObject);
        procedure WebBrowser1DocumentComplete(Sender: TObject;
          const pDisp: IDispatch; var URL: OleVariant);
      private
        { Private-Deklarationen }
        FirstRun: Boolean;
      public
        { Public-Deklarationen }
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.dfm}
    {----------------------------------------------------------------}procedure TForm1.FormCreate(Sender: TObject);
    begin
      FirstRun := True;
      WebBrowser1.Navigate('about:blank');
    end;{----------------------------------------------------------------}
    procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    var
      WebDoc: HTMLDocument;
      WebBody: HTMLBody;
    begin
      if FirstRun then
        if pDisp = WebBrowser1.Application then
        begin
          FirstRun := False;
          WebDoc := WebBrowser1.Document as HTMLDocument;
          WebBody := WebDoc.body as HTMLBody;
          WebBody.insertAdjacentHTML('BeforeEnd', '<h1>Hello World!</h1>');
        end;
    end;{----------------------------------------------------------------}end.
      

  3.   

    第二个问题也解决了,我用 Document.Body := '.....' + Document.Body 这种类似的方式,楼上的方法有空也研究一下 :)