使用JavaScript函数在新标签页中打开结果

3

这样行不通:

<a href='javascript:void(0)' target='_blank' onclick='do_stuff()' >Open</a>

这个也不行。

<a href='javascript:void(0)' target='_blank'onclick='window.open(do_stuff(), "_blank");' >View</a>

我想你需要打开一个新标签并显示JavaScript函数的结果。是否有其他方法可以尝试实现这个功能?


1
你想传递什么结果到新的 window - guest271314
@guest271314 只是HTML。 - TheLettuceMaster
你能展示一下 do_stuff() 函数的代码吗? - Polynomial Proton
@KickingLettuce "do_stuff() 调用 ajax 并返回 HTML" do_stuff() 异步返回结果? - guest271314
不,不。我的错,我道歉。我仔细查看了代码,并意识到do_stuff()不会打印HTML。它在最后执行了一个document.location.href。现在使用window.open的第二个参数中的_blank很容易做到我需要的事情。但是,我会保留这个问题,因为将来我仍然想要做这件事。 - TheLettuceMaster
显示剩余4条评论
1个回答

5

打开一个新窗口(标签)并将其保存到一个变量中,然后将其内容更改为您的函数输出:

<button onclick="clicked()">Test</button>

<script>

var clicked = function () {
  var new_page = window.open();
  new_page.document.write("output");
}

</script>

您可以使用JS创建div并更改其内容:
new_page.document.getElementById('test').innerHTML = "test";

我真的很喜欢那个jQuery选项。让我试一试,然后回来。 - TheLettuceMaster
抱歉,我已将代码更改为JS,现在应该可以工作了,我会尝试提供一个jQuery版本。 - Marcin
谢谢,这段代码有效,所以我会标记为正确。但是,正如我刚才解释的那样,我最终并没有需要在我的项目中使用它,因为我对我的代码有些误读。感谢您的帮助!我将来可能会用到它。 - TheLettuceMaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接