【发布时间】:2013-02-22 07:10:20
【问题描述】:
我正在尝试为 crawljax 编写一个运行一些 javascript 代码的插件,如下所示:
String result = browser.executeJavaScript(script).toString();
和脚本代码:
function getElementPosition(id) {
var element = document.getElementById(id);
return JSON.stringify(elementpos(findPosX(element), findPosY(element)));
}
function elementpos(x, y) {
elementpos = new Object();
elementpos.x = x;
elementpos.y = y;
return elementpos;
}
return getElementPosition("foo");
这成功返回,但结果始终为空,即使我使用 document.write 打印出相同的内容,我也会得到一个格式良好的 JSON 字符串
{"x":8, "y":24}
我是不是误会了什么? JSON字符串和java会发生一些奇怪的事情吗?我在javascript方面没有太多经验,所以我不能就这样回来吗?
我正在 google chrome 上对此进行测试,第 25 版
注意:我认为它与 Crawljax 本身没有任何关系,因为有一个单独的插件(由其他人编写),它也有一个返回 JSON 字符串的脚本,但这似乎工作得很好。 ..
【问题讨论】:
-
代码中有一点错别字,在第一次返回的行尾缺少一个括号。但是, elementPos 返回什么:一个 String ?还是一个物体?
-
您能否在@benzonico 说的那样修复缺少的括号后在jsfiddle.net 中重现您的问题并发布指向它的链接?
-
糟糕,这不是从我的来源复制和粘贴的;我把它打出来了。我的源代码中没有缺少括号
标签: java javascript json google-chrome stringify