为什么我的Javascript返回[object HTMLScriptElement]而不是预期的文本?

时间:2011-01-18 09:47:43

标签: java javascript

我遇到类似问题

unable to run an external javascript using a bookmarklet

但我正在Java应用程序中执行我的JavaScript,通过将脚本头部注入到通过Java应用程序加载的当前DOM中。

这个问题似乎是随机发生的。在某些情况下,它会返回[object HTMLScriptElement],有时会返回文本...

当我alert()对象时,它返回文本!

我尝试了return String(hi);,但仍无效果。

function returnsomeText(){
    var hi = someArray.join(':');
    alert(hi); //returns text:text:text:text as expected.
    return hi; //returns [object HTMLScriptElement]
}

我很困惑因为导致这个问题的原因!如果JavaScript返回[object HTMLScriptElement],则我的Java应用程序无法处理文本。

这个问题在这里有更详细的说明:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException when trying to execute Javascript

2 个答案:

答案 0 :(得分:5)

尝试return hi.toString();

答案 1 :(得分:0)

尝试添加.text,例如:

function returnsomeText(){
    var hi = someArray.join(':');
    alert(hi); //returns text:text:text:text as expected.
    return hi.text;
}

HERE是一个演示:

document.write(document.body.children[3]); //writes [object HTMLScriptElement]
document.write(document.body.children[3].text); //writes text data