WebBrowser 方法下js代码为什么没有返回值? 5

源代码如下:请高手指点privateWebBrowserwebBrowser=newWebBrowser();(中间略....)privatevoidgetThisPag... 源代码如下:请高手指点
private WebBrowser webBrowser = new WebBrowser();
(中间略....)
private void getThisPageResult() {
Timer timer = new Timer(false);
timer.schedule(new AllTask(), 1 * 5000);
}

class AllTask extends TimerTask {
public void run() {
String jscript = "function getAllHtml() {"+
"var a='123';return a;"+
"}"+
"getAllHtml();";

String result = webBrowser.executeScript(jscript);
System.out.println("3333");
callback(result);
}

问题:String result = webBrowser.executeScript(jscript);无法获取返回值,通过测试在getAllHtml()方法中加了一个alert()方法在界面上能打印a的值?为什么在java代码中没有返回值?不知道是不是浏览器的问题还是哪里不对?请大侠指点!
展开
 我来答
xtfnpgy
2014-07-02 · TA获得超过1784个赞
知道大有可为答主
回答量:1989
采纳率:76%
帮助的人:1109万
展开全部
试试直接获取变量:

从C#中取得javascript的变量值.
using mshtml;
using System.Reflection;
IHTMLDocument2 vDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 vWindow = vDocument.parentWindow;
Type vWindowType = vWindow.GetType();
object xpt = vWindowType.InvokeMember("_xpt", BindingFlags.GetProperty, null, vWindow, new object[] { });
xpt 就是取得的javascript中的变量"_xpt"的值.
追问
这个是java的.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式