我现在在做一个网相当于IE的浏览器,用webbrows控件,虽然可以打开网页,但是当打开一个链接的时候,显示链接的却是系统的IE,比如进入中国网络之门,www.5566.com当用百度和google搜索时,用的却是系统的IE。
我想问,用什么办法让链接或查询的信息不经过系统IE,而由我做的浏览器来显示呢?望赐教!

解决方案 »

  1.   

    procedure TBandForm.NewWin_LinkClick(Sender: TObject);
    var
      doc:IHTMLDocument2;
      all:IHTMLElementCollection;
      len,i,flag:integer;
      item:IHTMLElement;
      vAttri:Variant;
    begin
    try
        //获得Webbrowser对象中的文档对象
        doc:=IHTMLDocument2(你的webbrowser名称.Document);
        //获得文档中所有的HTML元素集合
        all:=doc.Get_all;
        len:=all.Get_length;
        //访问HTML元素集合中的每一个元素
        for i:=0 to len-1 do
        begin
          item:=all.item(i,varempty) as IHTMLElement;
          //如果该元素是一个链接
          flag:=0;
          vAttri:=item.getAttribute('protocol',flag); //获得链接属性
            //如果是http链接则将链接的目标地址添加到ComboBox1
        if (vAttri ='http:') or (vAttri ='file:') then
        begin
            vAttri:=item.getAttribute('target',flag);
            VAttrilist.Lines.Insert(i,vAttri);
            item.setAttribute('target','_blank',flag);
        end
        end;
      except
      end;
     end;