rt,delphi7 里如何呼叫網頁里的JS函式, 同時獲取函式回傳值? thx
uj5u.com熱心網友回復:
wb1: TWebBrowser;wb1.Navigate(URL);
在wb1DocumentComplete事件中
var
i: IHTMLDocument2;//需要uses MSHTML
i := wb1.Document as IHTMLDocument2;
通過IHTMLDocument2的介面即可得到任何你想要的東西。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
WebBrowser.OleObject.Document.parentWindow.execScript('Func_RedirectIndex()','JavaScript');Func_RedirectIndex()就是你要執行的函式,這個執行是沒有回傳值的。如果需要回傳值之類的,用二樓的辦法試試。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:

頂
uj5u.com熱心網友回復:
路過。
uj5u.com熱心網友回復:
執行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.因為方法一如果沒有定義變數而直接取會拋出例外
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/103116.html
標籤:網絡通信/分布式開發
上一篇:請問 :D7 InterWeb控制元件 最新版本是多少? 在哪下載?
下一篇:XE6給bds.exe打補丁失敗
