Javascript - window.open无法正确显示数据的问题

时间:2014-11-03 19:08:26

标签: javascript html

所以我遇到了一个问题,实际上是让我的数据正确加载到新的HTML页面。目标是在单击标签时使用该标签,打开一个新页面,其中包含来自相应标签的数据。这个项目正在使用D3。

我正在关注instructions given in this question,但是当我点击一个标签时(假设它有两个结果),我得到[object Object],[object Object]而不是实际数据本身。我错过了将实际数据输出的步骤吗?

父母代码:

label.on('click', function(){
    var OpenWindow = window.open("results.html", "mywin", '');
    OpenWindow.dataFromParent = results; 
    OpenWindow.init();
});

儿童代码

<script type="text/javascript">
var dataFromParent;    

function init() {
    document.write("<p>" + dataFromParent + "</p>");
}

init();

</script>

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

根据您说的评论,您要显示JSON对象的内容。

你拥有的是

document.write("<p>" + dataFromParent.toString() + "</p>");

你想要的是

document.write("<p>" + JSON.stringify(dataFromParent) + "</p>");

现在,在父窗口和子窗口中调用init是没有意义的。您需要意识到子窗口需要时间来加载,因此从开启器调用方法,它可能不存在,与设置值相同。

同样document.write()是一个坏主意。