rt,delphi7 里如何调用网页里的JS函数, 同时获取函数返回值?  thx

解决方案 »

  1.   

    wb1: TWebBrowser;
    wb1.Navigate(URL);
    在wb1DocumentComplete事件中
    var
      i: IHTMLDocument2;//需要uses MSHTML
    i  := wb1.Document as IHTMLDocument2;
    通过IHTMLDocument2的接口即可得到任何你想要的东西。
      

  2.   

    WebBrowser.OleObject.Document.parentWindow.execScript('Func_RedirectIndex()','JavaScript');Func_RedirectIndex()就是你要执行的函数,这个执行是没有返回值的。如果需要返回值之类的,用二楼的办法试试。
      

  3.   

    执行JS方法:
    WebBrowser1.OleObject.document.parentWindow.execScript('MB()','Javascript'); //HTML-Js
    可以写你自己的代码,也可以调用内部的函数。
    取js结果的办法
    方法1:执行js,将js结果保存在一个全局js变量。全局变量可以是数组,也可以单一变量。selfid:=WebBrowser1.OleObject.document.parentWindow.current_user.uid;
    相当取current_user[‘uid’]如果取单一变量:
    WebBrowser1.OleObject.document.parentWindow.uid方法二:
    可以自写一个js函数,用来新建一个隐藏的div标签(有id值)。
    将JS执行结果用放在这个DIV内。
    然后用ID取html的办法取出来。
    WebBrowser1.OleObject.document.getElementByIdx_x('span1').innerText;推荐方法2.因为方法一如果没有定义变量而直接取会抛出异常