各位大侠,小弟现在遇到个非常棘手的问题,我用delphi做了个软件窗口,里面放入了个WebBrowse控件 ,现在我想在我嵌入的网页里面点击按钮,通过javascript来调用我用delphi的写的函数,或事件,比如说我点击网页里的一个按钮,可以关闭或者最大化这个软件窗口,请问怎么用delphi捕获这个js点击事件呢?小弟现在快急疯了,请各位大侠帮帮小弟,如果有个简单的例子最好不果了,小弟这里先谢过了。(小弟现在分数不多了,等有分了会再次感谢的。)

解决方案 »

  1.   

    很多的做法,比较常用的是写一个com对象,然后webbrowser有个属性可以把com对象的实例赋值在上面,在javascript中就可以直接的用window.external对象了,这个对象就是你赋值的那个对象。STA的COM。还可以,用URLMonik,可能记错了,或者截获IE的url转向,你要关闭窗口就发个特殊的url,外面的host程序就能截获,反正你看看那个webbrowsor有什么事件可以利用的,利用以下就行了。
      

  2.   

    用webbrowser的BeforeNavigate2事件来截取URL值,可以把网页的按钮做成超链接,比如  if pos('ChooseDate_S',URL)>0 then
      begin
        Cancel := true;
        DateChoosePanel.Left := (Main_Panel.Width  - DateChoosePanel.Width  ) div 2;
        DateChoosePanel.Top  := (Main_Panel.Height - DateChoosePanel.Height)  div 2;
        DateChoosePanel.Repaint;
        ParentInput.Text := 'ChooseDate_S';
        DateChoosePanel.Show;
        WebRight.Enabled := False;
      end;