在它的BeforeNavigate2事件中,怎样获得点击元素的iHtmlDocument接口,因此我可以使用它的方法或改变相关内容?例子: 比如点击的是"网易",去的是www.163.com,我在事件中改变其URL,使其打开www.google.com?注:在自己程序里的Twebbrowser控件中实现

解决方案 »

  1.   

    Stop+Navigate2
    BeforeNavigate2的时候获得不了被点击元素,不过你可以在元素被点击的时候把事件的来源元素的引用存下来给BeforeNavigate2用。
      

  2.   

    procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
      const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
      Headers: OleVariant; var Cancel: WordBool);
    begin
      if URL='http://hi.baidu.com/' then
      begin
        URL:='http://www.tom.com/';
        Cancel:=true;
        POSTMESSAGE()//打开指定的界面
      end;
    end;