所以我遇到了一个问题,实际上是让我的数据正确加载到新的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>
任何帮助将不胜感激!谢谢!
答案 0 :(得分:1)
根据您说的评论,您要显示JSON对象的内容。
你拥有的是
document.write("<p>" + dataFromParent.toString() + "</p>");
你想要的是
document.write("<p>" + JSON.stringify(dataFromParent) + "</p>");
现在,在父窗口和子窗口中调用init是没有意义的。您需要意识到子窗口需要时间来加载,因此从开启器调用方法,它可能不存在,与设置值相同。
同样document.write()
是一个坏主意。