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

为什么我的Javascript返回[object HTMLScriptElement]而不是预期的文本?,java,javascript,Java,Javascript,我也有类似的问题 但我通过将脚本头注入到通过Java应用程序加载的当前DOM中,在Java应用程序中执行JavaScript 这个问题似乎是随机发生的。在某些情况下,它返回[object HTMLScriptElement],而在其他情况下返回文本 当我alert()对象时,它返回文本 我尝试了返回字符串(hi)但仍然没有效果 function returnsomeText(){ var hi = someArray.join(':'); alert(hi); //return

我也有类似的问题

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

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

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

我尝试了
返回字符串(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应用程序无法处理文本

这个问题在这里更为详细:


尝试
返回hi.toString()

尝试添加文本,例如:

function returnsomeText(){
    var hi = someArray.join(':');
    alert(hi); //returns text:text:text:text as expected.
    return hi.text;
}
下面是一个演示:

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

什么是
someArray
?您如何判断它返回的是
[object HTMLScriptElement]
?如果所有其他操作都失败,我想您可以尝试
''+hi
将其强制为字符串。但这实际上并没有回答问题。@Spudley:
[object HTLMScriptElement]
是将
元素强制为字符串的结果,因此结果不会改变。问题不在于这里的代码,而在于调用
returnsomeText()
的地方,这可能是问题所在。我们需要查看更多代码。嗨,Kim,你能返回Hi.ToString()@金姆,很高兴来到这里,我将删除我的答案@框9:他做到了,金正宇说“哇,真管用”,所以我删除了Can you和?嗨,Kim,mplungjan只是帮我格式化代码,所以它更多的是一个答案,而不是一个问题。不知道-1票是从哪里来的!!这个答案是我贴的:)金:上面说是我编辑的,但幽灵会得到代表。我只是把“你能”改成了“试试”并去掉了问号。我也把ToString改成了ToString,并把它投了回去up@WraithNath和@mplungjan,对不起,我收回了我的评论。@Box您一次只能通知一个人,这意味着只考虑第一个
@
——mplungjan将永远看不到您最后的评论。评论答案或问题的作者总是会收到关于他/她的答案或问题的任何评论的通知。最后但并非最不重要的一点是,您可以使用前3个字母,例如@mpl可以正常工作。:)