【问题标题】:Why does my Javascript return [object HTMLScriptElement] instead of expected text?为什么我的 Javascript 返回 [object HTMLScriptElement] 而不是预期的文本?
【发布时间】:2011-01-18 09:47:42
【问题描述】:

我遇到了类似的问题

unable to run an external javascript using a bookmarklet.

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

这个问题似乎是随机发生的。在某些情况下它返回[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

【问题讨论】:

  • 什么是someArray?你怎么知道它正在返回[object HTMLScriptElement]
  • 如果一切都失败了,我想你可以尝试''+hi 强制它成为一个字符串。但实际上并没有回答这个问题。
  • @Spudley: [object HTLMScriptElement] 是将<script> 元素强制转换为字符串的结果,因此结果不会改变。问题不在于这里的代码,而是调用returnsomeText() 的地方,这可能是问题所在。我们需要查看更多代码。
  • 嗨,Kim,你能返回 hi.ToString(); 吗?
  • @Kim,很高兴来到这里,我想取消删除我的答案!

标签: java javascript


【解决方案1】:

试试return hi.toString();

【讨论】:

  • @Box9:他做到了,金钟宇说“哇,好用”,所以我删除了 Can you and the ?
  • 嗨,Kim,mplungjan 只是帮助格式化我的代码,所以它更像是一个答案而不是一个问题。不知道-1票从哪里来!!这个答案是我发布的:)
  • Kim:上面写着由我编辑,但 Wraith 会得到代表。我只是将“Can you”更改为“Try”并删除了问号。我还将 ToString 更改为 toString 并投票支持
  • @WraithNath 和 @mplungjan,对不起,我收回我的评论。
  • @Box 您一次只能通知一个人,这意味着只考虑第一个@ - mplungjan 永远不会看到您的最后一条评论。评论的答案或问题的作者总是会顺便收到对他/她的答案或问题发表的任何评论的通知。最后但并非最不重要的一点是,您可以使用前 3 个字母,例如@mpl 可以正常工作。 :)
【解决方案2】:

尝试在以下位置添加 .text:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 2018-04-10
    • 2014-05-04
    • 2011-02-02
    相关资源
    最近更新 更多