现在又有了一个新问题,如何来控制html中的java applet

解决方案 »

  1.   

    关于一:
    读入原码可以传入URL,
    或者是把原码放在内存里,但是内容不能太多,
      

  2.   

    1. IHtmlDocument2(WebBrowser.Document).Body.OuterHtml
      

  3.   

    Document对象更详细的信息,可以参考MSDN中Webbrowser object帮助中的Document属性连接!HEAD、TITLE、BODY,Applet、Script、链接、表单都是Document下的对象!
      

  4.   

    提取网页中所有链接  这个方法来自大富翁论坛hopfield朋友的对一个问题的回答,我本想自己试验,但总是没成功。  var
       doc:IHTMLDocument2;
       all:IHTMLElementCollection;
       len,i:integer;
       item:OleVariant;
      begin
       doc:=WebBrowser1 .Document as IHTMLDocument2;
       all:=doc.Get_links;             //doc.Links亦可
       len:=all.length;
       for i:=0 to len-1 do begin
        item:=all.item(i,varempty);        //EmpryParam亦可
        memo1.lines.add(item.href);
       end;
      end;
      

  5.   

    var doc: ihtmldocument2;doc:= (webbrowser1.document) as ihtmldocument2;doc.forms
    doc.applets
    //操作各自对象
      

  6.   

    var
    doc: ihtmldocument2;
    all:IHTMLElementCollection;
    len,i:integer;
    item:OleVariant;
    begin
    doc:= (webbrowser1.document) as ihtmldocument2;
    all:=doc.forms;//doc.Links亦可
    len:=all.length;
    for i:=0 to len-1 do begin
      item:=all.item(i,varempty);//EmpryParam亦可
      memo1.lines.add(item.name);
    end;
    end;同理.获得表单名称,无name属性为空!
      

  7.   

    function TForm1.GetHtml(const WebBrowser: TWebBrowser): string;
    const
      BufSize = $10000;
    var
      Size: Int64;
      Stream: IStream;
      hHTMLText: HGLOBAL;
      psi: IPersistStreamInit;
    begin
      if not Assigned(WebBrowser.Document) then Exit;
      OleCheck(WebBrowser.Document.QueryInterface (IPersistStreamInit, psi));
      try
      //OleCheck(psi.GetSizeMax(Size));
      hHTMLText := GlobalAlloc(GPTR, BufSize);
      if 0 = hHTMLText then RaiseLastWin32Error;
      OleCheck(CreateStreamOnHGlobal(hHTMLText, True, Stream));
      try
        OleCheck(psi.Save(Stream, False));
        Size := StrLen(PChar(hHTMLText));
        SetLength(Result, Size);
        CopyMemory(PChar(Result), Pointer(hHTMLText), Size);
      finally
        Stream := nil;
      end;
      finally
      psi := nil;
      end;
      end;Procedure Tform1.SetHtml(Const WebBrowser:TWebBrowser; Const Html: String);
    Var
        Stream          : IStream;
        hHTMLText       : HGLOBAL;
        psi             : IPersistStreamInit;
    Begin
        If Not Assigned(WebBrowser.Document) Then Exit;    hHTMLText := GlobalAlloc(GPTR, Length(Html) + 1);
        If 0 = hHTMLText Then RaiseLastWin32Error;    CopyMemory(Pointer(hHTMLText),
            PChar(Html), Length(Html));    OleCheck(CreateStreamOnHGlobal
            (hHTMLText, True, Stream));
        Try
            OleCheck(WebBrowser.Document.
                QueryInterface(IPersistStreamInit, psi));
            Try
                OleCheck(psi.InitNew);
                OleCheck(psi.Load(Stream));
            Finally
                psi := Nil;
            End;
        Finally
            Stream := Nil;
        End;
    End;
      

  8.   

    对于web browser中的html和相关的input域的读写我全搞定了,然后现在如何控制里面的applet还是个问题,比如里面用java applet里面textfield,如何读取,好象比较困难耶!